mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
Merge pull request #1124 from larshp/lcl_persistence_db
lcl_persistence_db to global
This commit is contained in:
commit
8f8f9a9cd6
10
src/persist/package.devc.xml
Normal file
10
src/persist/package.devc.xml
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<abapGit version="v1.0.0" serializer="LCL_OBJECT_DEVC" serializer_version="v1.0.0">
|
||||||
|
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||||
|
<asx:values>
|
||||||
|
<DEVC>
|
||||||
|
<CTEXT>Persistence</CTEXT>
|
||||||
|
</DEVC>
|
||||||
|
</asx:values>
|
||||||
|
</asx:abap>
|
||||||
|
</abapGit>
|
199
src/persist/zcl_abapgit_persistence_db.clas.abap
Normal file
199
src/persist/zcl_abapgit_persistence_db.clas.abap
Normal file
|
@ -0,0 +1,199 @@
|
||||||
|
CLASS zcl_abapgit_persistence_db DEFINITION
|
||||||
|
PUBLIC
|
||||||
|
CREATE PUBLIC .
|
||||||
|
|
||||||
|
PUBLIC SECTION.
|
||||||
|
CONSTANTS:
|
||||||
|
c_tabname TYPE tabname VALUE 'ZABAPGIT',
|
||||||
|
c_lock TYPE viewname VALUE 'EZABAPGIT'.
|
||||||
|
|
||||||
|
TYPES: ty_type TYPE c LENGTH 12.
|
||||||
|
TYPES: ty_value TYPE c LENGTH 12.
|
||||||
|
|
||||||
|
TYPES: BEGIN OF ty_content,
|
||||||
|
type TYPE ty_type,
|
||||||
|
value TYPE ty_value,
|
||||||
|
data_str TYPE string,
|
||||||
|
END OF ty_content,
|
||||||
|
tt_content TYPE SORTED TABLE OF ty_content WITH UNIQUE KEY type value.
|
||||||
|
|
||||||
|
CONSTANTS:
|
||||||
|
c_type_settings TYPE ty_type VALUE 'SETTINGS',
|
||||||
|
c_type_repo TYPE ty_type VALUE 'REPO',
|
||||||
|
c_type_background TYPE ty_type VALUE 'BACKGROUND',
|
||||||
|
c_type_user TYPE ty_type VALUE 'USER'.
|
||||||
|
|
||||||
|
METHODS:
|
||||||
|
list_by_type
|
||||||
|
IMPORTING iv_type TYPE ty_type
|
||||||
|
RETURNING VALUE(rt_content) TYPE tt_content,
|
||||||
|
list
|
||||||
|
RETURNING VALUE(rt_content) TYPE tt_content,
|
||||||
|
add
|
||||||
|
IMPORTING iv_type TYPE ty_type
|
||||||
|
iv_value TYPE ty_content-value
|
||||||
|
iv_data TYPE ty_content-data_str
|
||||||
|
RAISING zcx_abapgit_exception,
|
||||||
|
delete
|
||||||
|
IMPORTING iv_type TYPE ty_type
|
||||||
|
iv_value TYPE ty_content-value
|
||||||
|
RAISING zcx_abapgit_exception,
|
||||||
|
update
|
||||||
|
IMPORTING iv_type TYPE ty_type
|
||||||
|
iv_value TYPE ty_content-value
|
||||||
|
iv_data TYPE ty_content-data_str
|
||||||
|
RAISING zcx_abapgit_exception,
|
||||||
|
modify
|
||||||
|
IMPORTING iv_type TYPE ty_type
|
||||||
|
iv_value TYPE ty_content-value
|
||||||
|
iv_data TYPE ty_content-data_str
|
||||||
|
RAISING zcx_abapgit_exception,
|
||||||
|
read
|
||||||
|
IMPORTING iv_type TYPE ty_type
|
||||||
|
iv_value TYPE ty_content-value
|
||||||
|
RETURNING VALUE(rv_data) TYPE ty_content-data_str
|
||||||
|
RAISING zcx_abapgit_not_found,
|
||||||
|
lock
|
||||||
|
IMPORTING iv_mode TYPE enqmode DEFAULT 'E'
|
||||||
|
iv_type TYPE ty_type
|
||||||
|
iv_value TYPE ty_content-value
|
||||||
|
RAISING zcx_abapgit_exception.
|
||||||
|
|
||||||
|
PRIVATE SECTION.
|
||||||
|
METHODS: validate_and_unprettify_xml
|
||||||
|
IMPORTING iv_xml TYPE string
|
||||||
|
RETURNING VALUE(rv_xml) TYPE string
|
||||||
|
RAISING zcx_abapgit_exception.
|
||||||
|
|
||||||
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
CLASS ZCL_ABAPGIT_PERSISTENCE_DB IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD add.
|
||||||
|
|
||||||
|
* todo, change instantiation back to private? make sure this class is a singleton?
|
||||||
|
|
||||||
|
DATA ls_table TYPE ty_content.
|
||||||
|
|
||||||
|
ls_table-type = iv_type.
|
||||||
|
ls_table-value = iv_value.
|
||||||
|
ls_table-data_str = iv_data.
|
||||||
|
|
||||||
|
INSERT (c_tabname) FROM ls_table. "#EC CI_SUBRC
|
||||||
|
ASSERT sy-subrc = 0.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD delete.
|
||||||
|
|
||||||
|
lock( iv_type = iv_type
|
||||||
|
iv_value = iv_value ).
|
||||||
|
|
||||||
|
DELETE FROM (c_tabname)
|
||||||
|
WHERE type = iv_type
|
||||||
|
AND value = iv_value.
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
zcx_abapgit_exception=>raise( 'DB Delete failed' ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD list.
|
||||||
|
SELECT * FROM (c_tabname)
|
||||||
|
INTO TABLE rt_content. "#EC CI_SUBRC
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD list_by_type.
|
||||||
|
SELECT * FROM (c_tabname)
|
||||||
|
INTO TABLE rt_content
|
||||||
|
WHERE type = iv_type. "#EC CI_SUBRC
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD lock.
|
||||||
|
|
||||||
|
CALL FUNCTION 'ENQUEUE_EZABAPGIT'
|
||||||
|
EXPORTING
|
||||||
|
mode_zabapgit = iv_mode
|
||||||
|
type = iv_type
|
||||||
|
value = iv_value
|
||||||
|
EXCEPTIONS
|
||||||
|
foreign_lock = 1
|
||||||
|
system_failure = 2
|
||||||
|
OTHERS = 3.
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
zcx_abapgit_exception=>raise( |Could not aquire lock { iv_type } { iv_value }| ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
* trigger dummy update task to automatically release locks at commit
|
||||||
|
CALL FUNCTION 'BANK_OBJ_WORKL_RELEASE_LOCKS'
|
||||||
|
IN UPDATE TASK.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD modify.
|
||||||
|
|
||||||
|
DATA: ls_content TYPE ty_content.
|
||||||
|
|
||||||
|
lock( iv_type = iv_type
|
||||||
|
iv_value = iv_value ).
|
||||||
|
|
||||||
|
ls_content-type = iv_type.
|
||||||
|
ls_content-value = iv_value.
|
||||||
|
ls_content-data_str = iv_data.
|
||||||
|
|
||||||
|
MODIFY (c_tabname) FROM ls_content.
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
zcx_abapgit_exception=>raise( 'DB modify failed' ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD read.
|
||||||
|
|
||||||
|
SELECT SINGLE data_str FROM (c_tabname) INTO rv_data
|
||||||
|
WHERE type = iv_type
|
||||||
|
AND value = iv_value. "#EC CI_SUBRC
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
RAISE EXCEPTION TYPE zcx_abapgit_not_found.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD update.
|
||||||
|
|
||||||
|
DATA lv_data LIKE iv_data.
|
||||||
|
|
||||||
|
lv_data = validate_and_unprettify_xml( iv_data ).
|
||||||
|
|
||||||
|
lock( iv_type = iv_type
|
||||||
|
iv_value = iv_value ).
|
||||||
|
|
||||||
|
UPDATE (c_tabname) SET data_str = lv_data
|
||||||
|
WHERE type = iv_type
|
||||||
|
AND value = iv_value.
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
zcx_abapgit_exception=>raise( 'DB update failed' ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ENDMETHOD. "update
|
||||||
|
|
||||||
|
|
||||||
|
METHOD validate_and_unprettify_xml.
|
||||||
|
|
||||||
|
rv_xml = zcl_abapgit_xml_pretty=>print(
|
||||||
|
iv_xml = iv_xml
|
||||||
|
iv_unpretty = abap_true
|
||||||
|
iv_ignore_errors = abap_false ).
|
||||||
|
|
||||||
|
ENDMETHOD. " validate_and_unprettify_xml
|
||||||
|
ENDCLASS.
|
18
src/persist/zcl_abapgit_persistence_db.clas.xml
Normal file
18
src/persist/zcl_abapgit_persistence_db.clas.xml
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<abapGit version="v1.0.0" serializer="LCL_OBJECT_CLAS" serializer_version="v1.0.0">
|
||||||
|
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
|
||||||
|
<asx:values>
|
||||||
|
<VSEOCLASS>
|
||||||
|
<CLSNAME>ZCL_ABAPGIT_PERSISTENCE_DB</CLSNAME>
|
||||||
|
<VERSION>1</VERSION>
|
||||||
|
<LANGU>E</LANGU>
|
||||||
|
<DESCRIPT>Database persistence</DESCRIPT>
|
||||||
|
<EXPOSURE>2</EXPOSURE>
|
||||||
|
<STATE>1</STATE>
|
||||||
|
<CLSCCINCL>X</CLSCCINCL>
|
||||||
|
<FIXPT>X</FIXPT>
|
||||||
|
<UNICODE>X</UNICODE>
|
||||||
|
</VSEOCLASS>
|
||||||
|
</asx:values>
|
||||||
|
</asx:abap>
|
||||||
|
</abapGit>
|
|
@ -5,7 +5,6 @@
|
||||||
CLASS lcl_gui DEFINITION DEFERRED.
|
CLASS lcl_gui DEFINITION DEFERRED.
|
||||||
CLASS lcl_persistence_user DEFINITION DEFERRED.
|
CLASS lcl_persistence_user DEFINITION DEFERRED.
|
||||||
CLASS lcl_repo_srv DEFINITION DEFERRED.
|
CLASS lcl_repo_srv DEFINITION DEFERRED.
|
||||||
CLASS lcl_persistence_db DEFINITION DEFERRED.
|
|
||||||
CLASS lcl_persist_settings DEFINITION DEFERRED.
|
CLASS lcl_persist_settings DEFINITION DEFERRED.
|
||||||
CLASS lcl_proxy_configuration DEFINITION DEFERRED.
|
CLASS lcl_proxy_configuration DEFINITION DEFERRED.
|
||||||
|
|
||||||
|
@ -28,7 +27,7 @@ CLASS lcl_app DEFINITION FINAL.
|
||||||
RETURNING VALUE(ro_repo_srv) TYPE REF TO lcl_repo_srv.
|
RETURNING VALUE(ro_repo_srv) TYPE REF TO lcl_repo_srv.
|
||||||
|
|
||||||
CLASS-METHODS db
|
CLASS-METHODS db
|
||||||
RETURNING VALUE(ro_db) TYPE REF TO lcl_persistence_db.
|
RETURNING VALUE(ro_db) TYPE REF TO zcl_abapgit_persistence_db.
|
||||||
|
|
||||||
CLASS-METHODS settings
|
CLASS-METHODS settings
|
||||||
RETURNING VALUE(ro_settings) TYPE REF TO lcl_persist_settings.
|
RETURNING VALUE(ro_settings) TYPE REF TO lcl_persist_settings.
|
||||||
|
@ -39,7 +38,7 @@ CLASS lcl_app DEFINITION FINAL.
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
CLASS-DATA: go_gui TYPE REF TO lcl_gui,
|
CLASS-DATA: go_gui TYPE REF TO lcl_gui,
|
||||||
go_current_user TYPE REF TO lcl_persistence_user,
|
go_current_user TYPE REF TO lcl_persistence_user,
|
||||||
go_db TYPE REF TO lcl_persistence_db,
|
go_db TYPE REF TO zcl_abapgit_persistence_db,
|
||||||
go_repo_srv TYPE REF TO lcl_repo_srv,
|
go_repo_srv TYPE REF TO lcl_repo_srv,
|
||||||
go_settings TYPE REF TO lcl_persist_settings,
|
go_settings TYPE REF TO lcl_persist_settings,
|
||||||
go_proxy TYPE REF TO lcl_proxy_configuration.
|
go_proxy TYPE REF TO lcl_proxy_configuration.
|
||||||
|
|
|
@ -66,7 +66,7 @@ CLASS lcl_gui_router IMPLEMENTATION.
|
||||||
|
|
||||||
DATA: lv_url TYPE string,
|
DATA: lv_url TYPE string,
|
||||||
lv_key TYPE lcl_persistence_repo=>ty_repo-key,
|
lv_key TYPE lcl_persistence_repo=>ty_repo-key,
|
||||||
ls_db TYPE lcl_persistence_db=>ty_content,
|
ls_db TYPE zcl_abapgit_persistence_db=>ty_content,
|
||||||
ls_item TYPE zif_abapgit_definitions=>ty_item.
|
ls_item TYPE zif_abapgit_definitions=>ty_item.
|
||||||
|
|
||||||
lv_key = iv_getdata. " TODO refactor
|
lv_key = iv_getdata. " TODO refactor
|
||||||
|
@ -276,7 +276,7 @@ CLASS lcl_gui_router IMPLEMENTATION.
|
||||||
|
|
||||||
DATA: lv_page_class TYPE string,
|
DATA: lv_page_class TYPE string,
|
||||||
lv_message TYPE string,
|
lv_message TYPE string,
|
||||||
ls_key TYPE lcl_persistence_db=>ty_content.
|
ls_key TYPE zcl_abapgit_persistence_db=>ty_content.
|
||||||
|
|
||||||
lv_page_class = |LCL_GUI_PAGE_{ to_upper( iv_name ) }|.
|
lv_page_class = |LCL_GUI_PAGE_{ to_upper( iv_name ) }|.
|
||||||
ls_key = lcl_html_action_utils=>dbkey_decode( iv_getdata ).
|
ls_key = lcl_html_action_utils=>dbkey_decode( iv_getdata ).
|
||||||
|
|
|
@ -67,16 +67,16 @@ CLASS lcl_html_action_utils DEFINITION FINAL.
|
||||||
RAISING zcx_abapgit_exception.
|
RAISING zcx_abapgit_exception.
|
||||||
|
|
||||||
CLASS-METHODS dbkey_encode
|
CLASS-METHODS dbkey_encode
|
||||||
IMPORTING is_key TYPE lcl_persistence_db=>ty_content
|
IMPORTING is_key TYPE zcl_abapgit_persistence_db=>ty_content
|
||||||
RETURNING VALUE(rv_string) TYPE string.
|
RETURNING VALUE(rv_string) TYPE string.
|
||||||
|
|
||||||
CLASS-METHODS dbkey_decode
|
CLASS-METHODS dbkey_decode
|
||||||
IMPORTING iv_string TYPE clike
|
IMPORTING iv_string TYPE clike
|
||||||
RETURNING VALUE(rs_key) TYPE lcl_persistence_db=>ty_content.
|
RETURNING VALUE(rs_key) TYPE zcl_abapgit_persistence_db=>ty_content.
|
||||||
|
|
||||||
CLASS-METHODS dbcontent_decode
|
CLASS-METHODS dbcontent_decode
|
||||||
IMPORTING it_postdata TYPE cnht_post_data_tab
|
IMPORTING it_postdata TYPE cnht_post_data_tab
|
||||||
RETURNING VALUE(rs_content) TYPE lcl_persistence_db=>ty_content.
|
RETURNING VALUE(rs_content) TYPE zcl_abapgit_persistence_db=>ty_content.
|
||||||
|
|
||||||
CLASS-METHODS parse_commit_request
|
CLASS-METHODS parse_commit_request
|
||||||
IMPORTING it_postdata TYPE cnht_post_data_tab
|
IMPORTING it_postdata TYPE cnht_post_data_tab
|
||||||
|
|
|
@ -6,17 +6,17 @@ CLASS lcl_gui_page_db_dis DEFINITION FINAL INHERITING FROM lcl_gui_page.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
METHODS: constructor
|
METHODS: constructor
|
||||||
IMPORTING is_key TYPE lcl_persistence_db=>ty_content.
|
IMPORTING is_key TYPE zcl_abapgit_persistence_db=>ty_content.
|
||||||
|
|
||||||
CLASS-METHODS: render_record_banner
|
CLASS-METHODS: render_record_banner
|
||||||
IMPORTING is_key TYPE lcl_persistence_db=>ty_content
|
IMPORTING is_key TYPE zcl_abapgit_persistence_db=>ty_content
|
||||||
RETURNING VALUE(rv_html) TYPE string.
|
RETURNING VALUE(rv_html) TYPE string.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
METHODS render_content REDEFINITION.
|
METHODS render_content REDEFINITION.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
DATA: ms_key TYPE lcl_persistence_db=>ty_content.
|
DATA: ms_key TYPE zcl_abapgit_persistence_db=>ty_content.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
@ -41,8 +41,8 @@ CLASS lcl_gui_page_db_dis IMPLEMENTATION.
|
||||||
DATA:
|
DATA:
|
||||||
lo_highlighter TYPE REF TO lcl_syntax_highlighter,
|
lo_highlighter TYPE REF TO lcl_syntax_highlighter,
|
||||||
lo_toolbar TYPE REF TO zcl_abapgit_html_toolbar,
|
lo_toolbar TYPE REF TO zcl_abapgit_html_toolbar,
|
||||||
lv_data TYPE lcl_persistence_db=>ty_content-data_str,
|
lv_data TYPE zcl_abapgit_persistence_db=>ty_content-data_str,
|
||||||
ls_action TYPE lcl_persistence_db=>ty_content,
|
ls_action TYPE zcl_abapgit_persistence_db=>ty_content,
|
||||||
lv_action TYPE string.
|
lv_action TYPE string.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
|
@ -83,13 +83,13 @@ CLASS lcl_gui_page_db_edit DEFINITION FINAL INHERITING FROM lcl_gui_page.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
METHODS: constructor
|
METHODS: constructor
|
||||||
IMPORTING is_key TYPE lcl_persistence_db=>ty_content.
|
IMPORTING is_key TYPE zcl_abapgit_persistence_db=>ty_content.
|
||||||
|
|
||||||
PROTECTED SECTION.
|
PROTECTED SECTION.
|
||||||
METHODS render_content REDEFINITION.
|
METHODS render_content REDEFINITION.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
DATA: ms_key TYPE lcl_persistence_db=>ty_content.
|
DATA: ms_key TYPE zcl_abapgit_persistence_db=>ty_content.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
@ -103,7 +103,7 @@ CLASS lcl_gui_page_db_edit IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD render_content.
|
METHOD render_content.
|
||||||
|
|
||||||
DATA: lv_data TYPE lcl_persistence_db=>ty_content-data_str,
|
DATA: lv_data TYPE zcl_abapgit_persistence_db=>ty_content-data_str,
|
||||||
lo_toolbar TYPE REF TO zcl_abapgit_html_toolbar.
|
lo_toolbar TYPE REF TO zcl_abapgit_html_toolbar.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
|
@ -160,7 +160,7 @@ CLASS lcl_gui_page_db DEFINITION FINAL INHERITING FROM lcl_gui_page.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
METHODS explain_content
|
METHODS explain_content
|
||||||
IMPORTING is_data TYPE lcl_persistence_db=>ty_content
|
IMPORTING is_data TYPE zcl_abapgit_persistence_db=>ty_content
|
||||||
RETURNING VALUE(rv_text) TYPE string
|
RETURNING VALUE(rv_text) TYPE string
|
||||||
RAISING zcx_abapgit_exception.
|
RAISING zcx_abapgit_exception.
|
||||||
|
|
||||||
|
@ -175,7 +175,7 @@ CLASS lcl_gui_page_db IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD render_content.
|
METHOD render_content.
|
||||||
|
|
||||||
DATA: lt_data TYPE lcl_persistence_db=>tt_content,
|
DATA: lt_data TYPE zcl_abapgit_persistence_db=>tt_content,
|
||||||
lv_action TYPE string,
|
lv_action TYPE string,
|
||||||
lv_trclass TYPE string,
|
lv_trclass TYPE string,
|
||||||
lo_toolbar TYPE REF TO zcl_abapgit_html_toolbar.
|
lo_toolbar TYPE REF TO zcl_abapgit_html_toolbar.
|
||||||
|
|
|
@ -19,7 +19,7 @@ CLASS lcl_gui_page_main DEFINITION FINAL INHERITING FROM lcl_gui_page.
|
||||||
changed_by TYPE string VALUE 'changed_by',
|
changed_by TYPE string VALUE 'changed_by',
|
||||||
END OF c_actions.
|
END OF c_actions.
|
||||||
|
|
||||||
DATA: mv_show TYPE lcl_persistence_db=>ty_value,
|
DATA: mv_show TYPE zcl_abapgit_persistence_db=>ty_value,
|
||||||
mo_repo_content TYPE REF TO lcl_gui_view_repo.
|
mo_repo_content TYPE REF TO lcl_gui_view_repo.
|
||||||
|
|
||||||
METHODS:
|
METHODS:
|
||||||
|
|
|
@ -29,67 +29,6 @@ CLASS lcl_persist_migrate DEFINITION FINAL.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
CLASS lcl_persistence_db DEFINITION FINAL CREATE PRIVATE FRIENDS lcl_app.
|
|
||||||
|
|
||||||
PUBLIC SECTION.
|
|
||||||
CONSTANTS:
|
|
||||||
c_tabname TYPE tabname VALUE 'ZABAPGIT',
|
|
||||||
c_lock TYPE viewname VALUE 'EZABAPGIT'.
|
|
||||||
|
|
||||||
TYPES: ty_type TYPE c LENGTH 12.
|
|
||||||
TYPES: ty_value TYPE c LENGTH 12.
|
|
||||||
|
|
||||||
TYPES: BEGIN OF ty_content,
|
|
||||||
type TYPE ty_type,
|
|
||||||
value TYPE ty_value,
|
|
||||||
data_str TYPE string,
|
|
||||||
END OF ty_content,
|
|
||||||
tt_content TYPE SORTED TABLE OF ty_content WITH UNIQUE KEY type value.
|
|
||||||
|
|
||||||
METHODS:
|
|
||||||
list_by_type
|
|
||||||
IMPORTING iv_type TYPE ty_type
|
|
||||||
RETURNING VALUE(rt_content) TYPE tt_content,
|
|
||||||
list
|
|
||||||
RETURNING VALUE(rt_content) TYPE tt_content,
|
|
||||||
add
|
|
||||||
IMPORTING iv_type TYPE ty_type
|
|
||||||
iv_value TYPE ty_content-value
|
|
||||||
iv_data TYPE ty_content-data_str
|
|
||||||
RAISING zcx_abapgit_exception,
|
|
||||||
delete
|
|
||||||
IMPORTING iv_type TYPE ty_type
|
|
||||||
iv_value TYPE ty_content-value
|
|
||||||
RAISING zcx_abapgit_exception,
|
|
||||||
update
|
|
||||||
IMPORTING iv_type TYPE ty_type
|
|
||||||
iv_value TYPE ty_content-value
|
|
||||||
iv_data TYPE ty_content-data_str
|
|
||||||
RAISING zcx_abapgit_exception,
|
|
||||||
modify
|
|
||||||
IMPORTING iv_type TYPE ty_type
|
|
||||||
iv_value TYPE ty_content-value
|
|
||||||
iv_data TYPE ty_content-data_str
|
|
||||||
RAISING zcx_abapgit_exception,
|
|
||||||
read
|
|
||||||
IMPORTING iv_type TYPE ty_type
|
|
||||||
iv_value TYPE ty_content-value
|
|
||||||
RETURNING VALUE(rv_data) TYPE ty_content-data_str
|
|
||||||
RAISING zcx_abapgit_not_found,
|
|
||||||
lock
|
|
||||||
IMPORTING iv_mode TYPE enqmode DEFAULT 'E'
|
|
||||||
iv_type TYPE ty_type
|
|
||||||
iv_value TYPE ty_content-value
|
|
||||||
RAISING zcx_abapgit_exception.
|
|
||||||
|
|
||||||
PRIVATE SECTION.
|
|
||||||
METHODS: validate_and_unprettify_xml
|
|
||||||
IMPORTING iv_xml TYPE string
|
|
||||||
RETURNING VALUE(rv_xml) TYPE string
|
|
||||||
RAISING zcx_abapgit_exception.
|
|
||||||
|
|
||||||
ENDCLASS.
|
|
||||||
|
|
||||||
CLASS lcl_persistence_repo DEFINITION FINAL.
|
CLASS lcl_persistence_repo DEFINITION FINAL.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
@ -114,7 +53,7 @@ CLASS lcl_persistence_repo DEFINITION FINAL.
|
||||||
END OF ty_repo_xml.
|
END OF ty_repo_xml.
|
||||||
|
|
||||||
TYPES: BEGIN OF ty_repo,
|
TYPES: BEGIN OF ty_repo,
|
||||||
key TYPE lcl_persistence_db=>ty_value.
|
key TYPE zcl_abapgit_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.
|
||||||
|
@ -187,9 +126,7 @@ CLASS lcl_persistence_repo DEFINITION FINAL.
|
||||||
RAISING zcx_abapgit_exception.
|
RAISING zcx_abapgit_exception.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
CONSTANTS c_type_repo TYPE lcl_persistence_db=>ty_type VALUE 'REPO'.
|
DATA: mo_db TYPE REF TO zcl_abapgit_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
|
||||||
|
@ -201,7 +138,7 @@ CLASS lcl_persistence_repo DEFINITION FINAL.
|
||||||
RETURNING VALUE(rv_repo_xml_string) TYPE string.
|
RETURNING VALUE(rv_repo_xml_string) TYPE string.
|
||||||
|
|
||||||
METHODS get_next_id
|
METHODS get_next_id
|
||||||
RETURNING VALUE(rv_next_repo_id) TYPE lcl_persistence_db=>ty_content-value
|
RETURNING VALUE(rv_next_repo_id) TYPE zcl_abapgit_persistence_db=>ty_content-value
|
||||||
RAISING zcx_abapgit_exception.
|
RAISING zcx_abapgit_exception.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
@ -231,7 +168,7 @@ CLASS lcl_persist_background DEFINITION FINAL.
|
||||||
END OF ty_xml.
|
END OF ty_xml.
|
||||||
|
|
||||||
TYPES: BEGIN OF ty_background,
|
TYPES: BEGIN OF ty_background,
|
||||||
key TYPE lcl_persistence_db=>ty_value.
|
key TYPE zcl_abapgit_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.
|
||||||
|
@ -256,9 +193,7 @@ CLASS lcl_persist_background DEFINITION FINAL.
|
||||||
RAISING zcx_abapgit_exception.
|
RAISING zcx_abapgit_exception.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
CONSTANTS c_type TYPE lcl_persistence_db=>ty_type VALUE 'BACKGROUND'.
|
DATA: mo_db TYPE REF TO zcl_abapgit_persistence_db,
|
||||||
|
|
||||||
DATA: mo_db TYPE REF TO lcl_persistence_db,
|
|
||||||
mt_jobs TYPE tt_background.
|
mt_jobs TYPE tt_background.
|
||||||
|
|
||||||
METHODS from_xml
|
METHODS from_xml
|
||||||
|
@ -278,7 +213,6 @@ CLASS lcl_settings DEFINITION FINAL.
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
CONSTANTS: c_commitmsg_comment_length_dft TYPE i VALUE 50.
|
CONSTANTS: c_commitmsg_comment_length_dft TYPE i VALUE 50.
|
||||||
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.
|
|
||||||
|
|
||||||
METHODS: set_proxy_url
|
METHODS: set_proxy_url
|
||||||
IMPORTING
|
IMPORTING
|
||||||
|
@ -386,7 +320,7 @@ CLASS lcl_persist_background IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD list.
|
METHOD list.
|
||||||
|
|
||||||
DATA: lt_list TYPE lcl_persistence_db=>tt_content,
|
DATA: lt_list TYPE zcl_abapgit_persistence_db=>tt_content,
|
||||||
ls_xml TYPE ty_xml.
|
ls_xml TYPE ty_xml.
|
||||||
|
|
||||||
FIELD-SYMBOLS: <ls_list> LIKE LINE OF lt_list,
|
FIELD-SYMBOLS: <ls_list> LIKE LINE OF lt_list,
|
||||||
|
@ -398,7 +332,7 @@ CLASS lcl_persist_background IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
|
||||||
lt_list = mo_db->list_by_type( c_type ).
|
lt_list = mo_db->list_by_type( zcl_abapgit_persistence_db=>c_type_background ).
|
||||||
|
|
||||||
LOOP AT lt_list ASSIGNING <ls_list>.
|
LOOP AT lt_list ASSIGNING <ls_list>.
|
||||||
ls_xml = from_xml( <ls_list>-data_str ).
|
ls_xml = from_xml( <ls_list>-data_str ).
|
||||||
|
@ -425,7 +359,7 @@ CLASS lcl_persist_background IMPLEMENTATION.
|
||||||
ASSERT NOT is_data-key IS INITIAL.
|
ASSERT NOT is_data-key IS INITIAL.
|
||||||
|
|
||||||
mo_db->modify(
|
mo_db->modify(
|
||||||
iv_type = c_type
|
iv_type = zcl_abapgit_persistence_db=>c_type_background
|
||||||
iv_value = is_data-key
|
iv_value = is_data-key
|
||||||
iv_data = to_xml( is_data ) ).
|
iv_data = to_xml( is_data ) ).
|
||||||
|
|
||||||
|
@ -437,13 +371,13 @@ CLASS lcl_persist_background IMPLEMENTATION.
|
||||||
METHOD delete.
|
METHOD delete.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
mo_db->read( iv_type = c_type
|
mo_db->read( iv_type = zcl_abapgit_persistence_db=>c_type_background
|
||||||
iv_value = iv_key ).
|
iv_value = iv_key ).
|
||||||
CATCH zcx_abapgit_not_found.
|
CATCH zcx_abapgit_not_found.
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDTRY.
|
ENDTRY.
|
||||||
|
|
||||||
mo_db->delete( iv_type = c_type
|
mo_db->delete( iv_type = zcl_abapgit_persistence_db=>c_type_background
|
||||||
iv_value = iv_key ).
|
iv_value = iv_key ).
|
||||||
|
|
||||||
DELETE mt_jobs WHERE key = iv_key.
|
DELETE mt_jobs WHERE key = iv_key.
|
||||||
|
@ -580,8 +514,6 @@ CLASS lcl_persistence_user DEFINITION FINAL CREATE PRIVATE FRIENDS lcl_app.
|
||||||
RAISING zcx_abapgit_exception.
|
RAISING zcx_abapgit_exception.
|
||||||
|
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
CONSTANTS c_type_user TYPE lcl_persistence_db=>ty_type VALUE 'USER'.
|
|
||||||
|
|
||||||
DATA: mv_user TYPE xubname.
|
DATA: mv_user TYPE xubname.
|
||||||
|
|
||||||
TYPES:
|
TYPES:
|
||||||
|
@ -671,7 +603,7 @@ CLASS lcl_persistence_user IMPLEMENTATION.
|
||||||
|
|
||||||
TRY.
|
TRY.
|
||||||
lv_xml = lcl_app=>db( )->read(
|
lv_xml = lcl_app=>db( )->read(
|
||||||
iv_type = c_type_user
|
iv_type = zcl_abapgit_persistence_db=>c_type_user
|
||||||
iv_value = mv_user ).
|
iv_value = mv_user ).
|
||||||
CATCH zcx_abapgit_not_found.
|
CATCH zcx_abapgit_not_found.
|
||||||
RETURN.
|
RETURN.
|
||||||
|
@ -707,7 +639,7 @@ CLASS lcl_persistence_user IMPLEMENTATION.
|
||||||
lv_xml = to_xml( is_user ).
|
lv_xml = to_xml( is_user ).
|
||||||
|
|
||||||
lcl_app=>db( )->modify(
|
lcl_app=>db( )->modify(
|
||||||
iv_type = c_type_user
|
iv_type = zcl_abapgit_persistence_db=>c_type_user
|
||||||
iv_value = mv_user
|
iv_value = mv_user
|
||||||
iv_data = lv_xml ).
|
iv_data = lv_xml ).
|
||||||
|
|
||||||
|
@ -938,131 +870,6 @@ CLASS lcl_persistence_user IMPLEMENTATION.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
*----------------------------------------------------------------------*
|
|
||||||
* CLASS lcl_persistence_db
|
|
||||||
*----------------------------------------------------------------------*
|
|
||||||
|
|
||||||
CLASS lcl_persistence_db IMPLEMENTATION.
|
|
||||||
|
|
||||||
METHOD list_by_type.
|
|
||||||
SELECT * FROM (c_tabname)
|
|
||||||
INTO TABLE rt_content
|
|
||||||
WHERE type = iv_type. "#EC CI_SUBRC
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD list.
|
|
||||||
SELECT * FROM (c_tabname)
|
|
||||||
INTO TABLE rt_content. "#EC CI_SUBRC
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD lock.
|
|
||||||
|
|
||||||
CALL FUNCTION 'ENQUEUE_EZABAPGIT'
|
|
||||||
EXPORTING
|
|
||||||
mode_zabapgit = iv_mode
|
|
||||||
type = iv_type
|
|
||||||
value = iv_value
|
|
||||||
EXCEPTIONS
|
|
||||||
foreign_lock = 1
|
|
||||||
system_failure = 2
|
|
||||||
OTHERS = 3.
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
zcx_abapgit_exception=>raise( |Could not aquire lock { iv_type } { iv_value }| ).
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
* trigger dummy update task to automatically release locks at commit
|
|
||||||
CALL FUNCTION 'BANK_OBJ_WORKL_RELEASE_LOCKS'
|
|
||||||
IN UPDATE TASK.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD add.
|
|
||||||
|
|
||||||
DATA ls_table TYPE ty_content.
|
|
||||||
|
|
||||||
ls_table-type = iv_type.
|
|
||||||
ls_table-value = iv_value.
|
|
||||||
ls_table-data_str = iv_data.
|
|
||||||
|
|
||||||
INSERT (c_tabname) FROM ls_table. "#EC CI_SUBRC
|
|
||||||
ASSERT sy-subrc = 0.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD delete.
|
|
||||||
|
|
||||||
lock( iv_type = iv_type
|
|
||||||
iv_value = iv_value ).
|
|
||||||
|
|
||||||
DELETE FROM (c_tabname)
|
|
||||||
WHERE type = iv_type
|
|
||||||
AND value = iv_value.
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
zcx_abapgit_exception=>raise( 'DB Delete failed' ).
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD validate_and_unprettify_xml.
|
|
||||||
|
|
||||||
rv_xml = zcl_abapgit_xml_pretty=>print(
|
|
||||||
iv_xml = iv_xml
|
|
||||||
iv_unpretty = abap_true
|
|
||||||
iv_ignore_errors = abap_false ).
|
|
||||||
|
|
||||||
ENDMETHOD. " validate_and_unprettify_xml
|
|
||||||
|
|
||||||
METHOD update.
|
|
||||||
|
|
||||||
DATA lv_data LIKE iv_data.
|
|
||||||
|
|
||||||
lv_data = validate_and_unprettify_xml( iv_data ).
|
|
||||||
|
|
||||||
lock( iv_type = iv_type
|
|
||||||
iv_value = iv_value ).
|
|
||||||
|
|
||||||
UPDATE (c_tabname) SET data_str = lv_data
|
|
||||||
WHERE type = iv_type
|
|
||||||
AND value = iv_value.
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
zcx_abapgit_exception=>raise( 'DB update failed' ).
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDMETHOD. "update
|
|
||||||
|
|
||||||
METHOD modify.
|
|
||||||
|
|
||||||
DATA: ls_content TYPE ty_content.
|
|
||||||
|
|
||||||
lock( iv_type = iv_type
|
|
||||||
iv_value = iv_value ).
|
|
||||||
|
|
||||||
ls_content-type = iv_type.
|
|
||||||
ls_content-value = iv_value.
|
|
||||||
ls_content-data_str = iv_data.
|
|
||||||
|
|
||||||
MODIFY (c_tabname) FROM ls_content.
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
zcx_abapgit_exception=>raise( 'DB modify failed' ).
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
METHOD read.
|
|
||||||
|
|
||||||
SELECT SINGLE data_str FROM (c_tabname) INTO rv_data
|
|
||||||
WHERE type = iv_type
|
|
||||||
AND value = iv_value. "#EC CI_SUBRC
|
|
||||||
IF sy-subrc <> 0.
|
|
||||||
RAISE EXCEPTION TYPE zcx_abapgit_not_found.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
ENDCLASS.
|
|
||||||
|
|
||||||
|
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
* CLASS lcl_persistence_repo
|
* CLASS lcl_persistence_repo
|
||||||
*----------------------------------------------------------------------*
|
*----------------------------------------------------------------------*
|
||||||
|
@ -1086,7 +893,7 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
|
||||||
|
|
||||||
rv_key = get_next_id( ).
|
rv_key = get_next_id( ).
|
||||||
|
|
||||||
mo_db->add( iv_type = c_type_repo
|
mo_db->add( iv_type = zcl_abapgit_persistence_db=>c_type_repo
|
||||||
iv_value = rv_key
|
iv_value = rv_key
|
||||||
iv_data = lv_repo_as_xml ).
|
iv_data = lv_repo_as_xml ).
|
||||||
|
|
||||||
|
@ -1094,7 +901,7 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD update_dot_abapgit.
|
METHOD update_dot_abapgit.
|
||||||
|
|
||||||
DATA: lt_content TYPE lcl_persistence_db=>tt_content,
|
DATA: lt_content TYPE zcl_abapgit_persistence_db=>tt_content,
|
||||||
ls_content LIKE LINE OF lt_content,
|
ls_content LIKE LINE OF lt_content,
|
||||||
ls_repo TYPE ty_repo.
|
ls_repo TYPE ty_repo.
|
||||||
|
|
||||||
|
@ -1110,7 +917,7 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
|
||||||
ls_repo-dot_abapgit = is_dot_abapgit.
|
ls_repo-dot_abapgit = is_dot_abapgit.
|
||||||
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 = zcl_abapgit_persistence_db=>c_type_repo
|
||||||
iv_value = iv_key
|
iv_value = iv_key
|
||||||
iv_data = ls_content-data_str ).
|
iv_data = ls_content-data_str ).
|
||||||
|
|
||||||
|
@ -1123,14 +930,14 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
|
||||||
CREATE OBJECT lo_background.
|
CREATE OBJECT lo_background.
|
||||||
lo_background->delete( iv_key ).
|
lo_background->delete( iv_key ).
|
||||||
|
|
||||||
mo_db->delete( iv_type = c_type_repo
|
mo_db->delete( iv_type = zcl_abapgit_persistence_db=>c_type_repo
|
||||||
iv_value = iv_key ).
|
iv_value = iv_key ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
METHOD update_local_checksums.
|
METHOD update_local_checksums.
|
||||||
|
|
||||||
DATA: lt_content TYPE lcl_persistence_db=>tt_content,
|
DATA: lt_content TYPE zcl_abapgit_persistence_db=>tt_content,
|
||||||
ls_content LIKE LINE OF lt_content,
|
ls_content LIKE LINE OF lt_content,
|
||||||
ls_repo TYPE ty_repo.
|
ls_repo TYPE ty_repo.
|
||||||
|
|
||||||
|
@ -1146,7 +953,7 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
|
||||||
ls_repo-local_checksums = it_checksums.
|
ls_repo-local_checksums = it_checksums.
|
||||||
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 = zcl_abapgit_persistence_db=>c_type_repo
|
||||||
iv_value = iv_key
|
iv_value = iv_key
|
||||||
iv_data = ls_content-data_str ).
|
iv_data = ls_content-data_str ).
|
||||||
|
|
||||||
|
@ -1154,7 +961,7 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD update_url.
|
METHOD update_url.
|
||||||
|
|
||||||
DATA: lt_content TYPE lcl_persistence_db=>tt_content,
|
DATA: lt_content TYPE zcl_abapgit_persistence_db=>tt_content,
|
||||||
ls_content LIKE LINE OF lt_content,
|
ls_content LIKE LINE OF lt_content,
|
||||||
ls_repo TYPE ty_repo.
|
ls_repo TYPE ty_repo.
|
||||||
|
|
||||||
|
@ -1174,7 +981,7 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
|
||||||
ls_repo-url = iv_url.
|
ls_repo-url = iv_url.
|
||||||
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 = zcl_abapgit_persistence_db=>c_type_repo
|
||||||
iv_value = iv_key
|
iv_value = iv_key
|
||||||
iv_data = ls_content-data_str ).
|
iv_data = ls_content-data_str ).
|
||||||
|
|
||||||
|
@ -1182,7 +989,7 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD update_branch_name.
|
METHOD update_branch_name.
|
||||||
|
|
||||||
DATA: lt_content TYPE lcl_persistence_db=>tt_content,
|
DATA: lt_content TYPE zcl_abapgit_persistence_db=>tt_content,
|
||||||
ls_content LIKE LINE OF lt_content,
|
ls_content LIKE LINE OF lt_content,
|
||||||
ls_repo TYPE ty_repo.
|
ls_repo TYPE ty_repo.
|
||||||
|
|
||||||
|
@ -1198,7 +1005,7 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
|
||||||
ls_repo-branch_name = iv_branch_name.
|
ls_repo-branch_name = iv_branch_name.
|
||||||
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 = zcl_abapgit_persistence_db=>c_type_repo
|
||||||
iv_value = iv_key
|
iv_value = iv_key
|
||||||
iv_data = ls_content-data_str ).
|
iv_data = ls_content-data_str ).
|
||||||
|
|
||||||
|
@ -1206,7 +1013,7 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD update_head_branch.
|
METHOD update_head_branch.
|
||||||
|
|
||||||
DATA: lt_content TYPE lcl_persistence_db=>tt_content,
|
DATA: lt_content TYPE zcl_abapgit_persistence_db=>tt_content,
|
||||||
ls_content LIKE LINE OF lt_content,
|
ls_content LIKE LINE OF lt_content,
|
||||||
ls_repo TYPE ty_repo.
|
ls_repo TYPE ty_repo.
|
||||||
|
|
||||||
|
@ -1222,7 +1029,7 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
|
||||||
ls_repo-head_branch = iv_head_branch.
|
ls_repo-head_branch = iv_head_branch.
|
||||||
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 = zcl_abapgit_persistence_db=>c_type_repo
|
||||||
iv_value = iv_key
|
iv_value = iv_key
|
||||||
iv_data = ls_content-data_str ).
|
iv_data = ls_content-data_str ).
|
||||||
|
|
||||||
|
@ -1230,7 +1037,7 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD update_offline.
|
METHOD update_offline.
|
||||||
|
|
||||||
DATA: lt_content TYPE lcl_persistence_db=>tt_content,
|
DATA: lt_content TYPE zcl_abapgit_persistence_db=>tt_content,
|
||||||
ls_content LIKE LINE OF lt_content,
|
ls_content LIKE LINE OF lt_content,
|
||||||
ls_repo TYPE ty_repo.
|
ls_repo TYPE ty_repo.
|
||||||
|
|
||||||
|
@ -1245,7 +1052,7 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
|
||||||
ls_repo-offline = iv_offline.
|
ls_repo-offline = iv_offline.
|
||||||
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 = zcl_abapgit_persistence_db=>c_type_repo
|
||||||
iv_value = iv_key
|
iv_value = iv_key
|
||||||
iv_data = ls_content-data_str ).
|
iv_data = ls_content-data_str ).
|
||||||
|
|
||||||
|
@ -1253,7 +1060,7 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD update_sha1.
|
METHOD update_sha1.
|
||||||
|
|
||||||
DATA: lt_content TYPE lcl_persistence_db=>tt_content,
|
DATA: lt_content TYPE zcl_abapgit_persistence_db=>tt_content,
|
||||||
ls_content LIKE LINE OF lt_content,
|
ls_content LIKE LINE OF lt_content,
|
||||||
ls_repo TYPE ty_repo.
|
ls_repo TYPE ty_repo.
|
||||||
|
|
||||||
|
@ -1269,7 +1076,7 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
|
||||||
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 = zcl_abapgit_persistence_db=>c_type_repo
|
||||||
iv_value = iv_key
|
iv_value = iv_key
|
||||||
iv_data = ls_content-data_str ).
|
iv_data = ls_content-data_str ).
|
||||||
|
|
||||||
|
@ -1293,14 +1100,14 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
|
||||||
* todo: Lock the complete persistence in order to prevent concurrent repo-creation
|
* todo: Lock the complete persistence in order to prevent concurrent repo-creation
|
||||||
* however the current approach will most likely work in almost all cases
|
* however the current approach will most likely work in almost all cases
|
||||||
|
|
||||||
DATA: lt_content TYPE lcl_persistence_db=>tt_content.
|
DATA: lt_content TYPE zcl_abapgit_persistence_db=>tt_content.
|
||||||
|
|
||||||
FIELD-SYMBOLS: <ls_content> LIKE LINE OF lt_content.
|
FIELD-SYMBOLS: <ls_content> LIKE LINE OF lt_content.
|
||||||
|
|
||||||
|
|
||||||
rv_next_repo_id = 1.
|
rv_next_repo_id = 1.
|
||||||
|
|
||||||
lt_content = mo_db->list_by_type( c_type_repo ).
|
lt_content = mo_db->list_by_type( zcl_abapgit_persistence_db=>c_type_repo ).
|
||||||
LOOP AT lt_content ASSIGNING <ls_content>.
|
LOOP AT lt_content ASSIGNING <ls_content>.
|
||||||
IF <ls_content>-value >= rv_next_repo_id.
|
IF <ls_content>-value >= rv_next_repo_id.
|
||||||
rv_next_repo_id = <ls_content>-value + 1.
|
rv_next_repo_id = <ls_content>-value + 1.
|
||||||
|
@ -1317,12 +1124,12 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD list.
|
METHOD list.
|
||||||
|
|
||||||
DATA: lt_content TYPE lcl_persistence_db=>tt_content,
|
DATA: lt_content TYPE zcl_abapgit_persistence_db=>tt_content,
|
||||||
ls_content LIKE LINE OF lt_content,
|
ls_content LIKE LINE OF lt_content,
|
||||||
ls_repo LIKE LINE OF rt_repos.
|
ls_repo LIKE LINE OF rt_repos.
|
||||||
|
|
||||||
|
|
||||||
lt_content = mo_db->list_by_type( c_type_repo ).
|
lt_content = mo_db->list_by_type( zcl_abapgit_persistence_db=>c_type_repo ).
|
||||||
|
|
||||||
LOOP AT lt_content INTO ls_content.
|
LOOP AT lt_content INTO ls_content.
|
||||||
MOVE-CORRESPONDING from_xml( ls_content-data_str ) TO ls_repo.
|
MOVE-CORRESPONDING from_xml( ls_content-data_str ) TO ls_repo.
|
||||||
|
@ -1372,7 +1179,7 @@ CLASS lcl_persistence_repo IMPLEMENTATION.
|
||||||
METHOD lock.
|
METHOD lock.
|
||||||
|
|
||||||
mo_db->lock( iv_mode = iv_mode
|
mo_db->lock( iv_mode = iv_mode
|
||||||
iv_type = c_type_repo
|
iv_type = zcl_abapgit_persistence_db=>c_type_repo
|
||||||
iv_value = iv_key ).
|
iv_value = iv_key ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -1563,7 +1370,7 @@ CLASS lcl_persist_migrate IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
SELECT SINGLE viewname FROM dd25l INTO lv_viewname
|
SELECT SINGLE viewname FROM dd25l INTO lv_viewname
|
||||||
WHERE viewname = lcl_persistence_db=>c_lock.
|
WHERE viewname = zcl_abapgit_persistence_db=>c_lock.
|
||||||
rv_exists = boolc( sy-subrc = 0 ).
|
rv_exists = boolc( sy-subrc = 0 ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -1579,38 +1386,38 @@ CLASS lcl_persist_migrate IMPLEMENTATION.
|
||||||
<ls_dd27p> LIKE LINE OF lt_dd27p.
|
<ls_dd27p> LIKE LINE OF lt_dd27p.
|
||||||
|
|
||||||
|
|
||||||
ls_dd25v-viewname = lcl_persistence_db=>c_lock.
|
ls_dd25v-viewname = zcl_abapgit_persistence_db=>c_lock.
|
||||||
ls_dd25v-aggtype = 'E'.
|
ls_dd25v-aggtype = 'E'.
|
||||||
ls_dd25v-roottab = lcl_persistence_db=>c_tabname.
|
ls_dd25v-roottab = zcl_abapgit_persistence_db=>c_tabname.
|
||||||
ls_dd25v-ddlanguage = zif_abapgit_definitions=>gc_english.
|
ls_dd25v-ddlanguage = zif_abapgit_definitions=>gc_english.
|
||||||
ls_dd25v-ddtext = c_text.
|
ls_dd25v-ddtext = c_text.
|
||||||
|
|
||||||
APPEND INITIAL LINE TO lt_dd26e ASSIGNING <ls_dd26e>.
|
APPEND INITIAL LINE TO lt_dd26e ASSIGNING <ls_dd26e>.
|
||||||
<ls_dd26e>-viewname = lcl_persistence_db=>c_lock.
|
<ls_dd26e>-viewname = zcl_abapgit_persistence_db=>c_lock.
|
||||||
<ls_dd26e>-tabname = lcl_persistence_db=>c_tabname.
|
<ls_dd26e>-tabname = zcl_abapgit_persistence_db=>c_tabname.
|
||||||
<ls_dd26e>-tabpos = '0001'.
|
<ls_dd26e>-tabpos = '0001'.
|
||||||
<ls_dd26e>-fortabname = lcl_persistence_db=>c_tabname.
|
<ls_dd26e>-fortabname = zcl_abapgit_persistence_db=>c_tabname.
|
||||||
<ls_dd26e>-enqmode = 'E'.
|
<ls_dd26e>-enqmode = 'E'.
|
||||||
|
|
||||||
APPEND INITIAL LINE TO lt_dd27p ASSIGNING <ls_dd27p>.
|
APPEND INITIAL LINE TO lt_dd27p ASSIGNING <ls_dd27p>.
|
||||||
<ls_dd27p>-viewname = lcl_persistence_db=>c_lock.
|
<ls_dd27p>-viewname = zcl_abapgit_persistence_db=>c_lock.
|
||||||
<ls_dd27p>-objpos = '0001'.
|
<ls_dd27p>-objpos = '0001'.
|
||||||
<ls_dd27p>-viewfield = 'TYPE'.
|
<ls_dd27p>-viewfield = 'TYPE'.
|
||||||
<ls_dd27p>-tabname = lcl_persistence_db=>c_tabname.
|
<ls_dd27p>-tabname = zcl_abapgit_persistence_db=>c_tabname.
|
||||||
<ls_dd27p>-fieldname = 'TYPE'.
|
<ls_dd27p>-fieldname = 'TYPE'.
|
||||||
<ls_dd27p>-keyflag = abap_true.
|
<ls_dd27p>-keyflag = abap_true.
|
||||||
|
|
||||||
APPEND INITIAL LINE TO lt_dd27p ASSIGNING <ls_dd27p>.
|
APPEND INITIAL LINE TO lt_dd27p ASSIGNING <ls_dd27p>.
|
||||||
<ls_dd27p>-viewname = lcl_persistence_db=>c_lock.
|
<ls_dd27p>-viewname = zcl_abapgit_persistence_db=>c_lock.
|
||||||
<ls_dd27p>-objpos = '0002'.
|
<ls_dd27p>-objpos = '0002'.
|
||||||
<ls_dd27p>-viewfield = 'VALUE'.
|
<ls_dd27p>-viewfield = 'VALUE'.
|
||||||
<ls_dd27p>-tabname = lcl_persistence_db=>c_tabname.
|
<ls_dd27p>-tabname = zcl_abapgit_persistence_db=>c_tabname.
|
||||||
<ls_dd27p>-fieldname = 'VALUE'.
|
<ls_dd27p>-fieldname = 'VALUE'.
|
||||||
<ls_dd27p>-keyflag = abap_true.
|
<ls_dd27p>-keyflag = abap_true.
|
||||||
|
|
||||||
CALL FUNCTION 'DDIF_ENQU_PUT'
|
CALL FUNCTION 'DDIF_ENQU_PUT'
|
||||||
EXPORTING
|
EXPORTING
|
||||||
name = lcl_persistence_db=>c_lock
|
name = zcl_abapgit_persistence_db=>c_lock
|
||||||
dd25v_wa = ls_dd25v
|
dd25v_wa = ls_dd25v
|
||||||
TABLES
|
TABLES
|
||||||
dd26e_tab = lt_dd26e
|
dd26e_tab = lt_dd26e
|
||||||
|
@ -1626,7 +1433,7 @@ CLASS lcl_persist_migrate IMPLEMENTATION.
|
||||||
zcx_abapgit_exception=>raise( 'migrate, error from DDIF_ENQU_PUT' ).
|
zcx_abapgit_exception=>raise( 'migrate, error from DDIF_ENQU_PUT' ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
lv_obj_name = lcl_persistence_db=>c_lock.
|
lv_obj_name = zcl_abapgit_persistence_db=>c_lock.
|
||||||
CALL FUNCTION 'TR_TADIR_INTERFACE'
|
CALL FUNCTION 'TR_TADIR_INTERFACE'
|
||||||
EXPORTING
|
EXPORTING
|
||||||
wi_tadir_pgmid = 'R3TR'
|
wi_tadir_pgmid = 'R3TR'
|
||||||
|
@ -1643,7 +1450,7 @@ CLASS lcl_persist_migrate IMPLEMENTATION.
|
||||||
|
|
||||||
CALL FUNCTION 'DDIF_ENQU_ACTIVATE'
|
CALL FUNCTION 'DDIF_ENQU_ACTIVATE'
|
||||||
EXPORTING
|
EXPORTING
|
||||||
name = lcl_persistence_db=>c_lock
|
name = zcl_abapgit_persistence_db=>c_lock
|
||||||
EXCEPTIONS
|
EXCEPTIONS
|
||||||
not_found = 1
|
not_found = 1
|
||||||
put_failure = 2
|
put_failure = 2
|
||||||
|
@ -1659,7 +1466,7 @@ CLASS lcl_persist_migrate IMPLEMENTATION.
|
||||||
DATA: lv_tabname TYPE dd02l-tabname.
|
DATA: lv_tabname TYPE dd02l-tabname.
|
||||||
|
|
||||||
SELECT SINGLE tabname FROM dd02l INTO lv_tabname
|
SELECT SINGLE tabname FROM dd02l INTO lv_tabname
|
||||||
WHERE tabname = lcl_persistence_db=>c_tabname.
|
WHERE tabname = zcl_abapgit_persistence_db=>c_tabname.
|
||||||
rv_exists = boolc( sy-subrc = 0 ).
|
rv_exists = boolc( sy-subrc = 0 ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -1674,21 +1481,21 @@ CLASS lcl_persist_migrate IMPLEMENTATION.
|
||||||
|
|
||||||
FIELD-SYMBOLS: <ls_dd03p> LIKE LINE OF lt_dd03p.
|
FIELD-SYMBOLS: <ls_dd03p> LIKE LINE OF lt_dd03p.
|
||||||
|
|
||||||
ls_dd02v-tabname = lcl_persistence_db=>c_tabname.
|
ls_dd02v-tabname = zcl_abapgit_persistence_db=>c_tabname.
|
||||||
ls_dd02v-ddlanguage = zif_abapgit_definitions=>gc_english.
|
ls_dd02v-ddlanguage = zif_abapgit_definitions=>gc_english.
|
||||||
ls_dd02v-tabclass = 'TRANSP'.
|
ls_dd02v-tabclass = 'TRANSP'.
|
||||||
ls_dd02v-ddtext = c_text.
|
ls_dd02v-ddtext = c_text.
|
||||||
ls_dd02v-contflag = 'A'.
|
ls_dd02v-contflag = 'A'.
|
||||||
ls_dd02v-exclass = '1'.
|
ls_dd02v-exclass = '1'.
|
||||||
|
|
||||||
ls_dd09l-tabname = lcl_persistence_db=>c_tabname.
|
ls_dd09l-tabname = zcl_abapgit_persistence_db=>c_tabname.
|
||||||
ls_dd09l-as4local = 'A'.
|
ls_dd09l-as4local = 'A'.
|
||||||
ls_dd09l-tabkat = '1'.
|
ls_dd09l-tabkat = '1'.
|
||||||
ls_dd09l-tabart = 'APPL1'.
|
ls_dd09l-tabart = 'APPL1'.
|
||||||
ls_dd09l-bufallow = 'N'.
|
ls_dd09l-bufallow = 'N'.
|
||||||
|
|
||||||
APPEND INITIAL LINE TO lt_dd03p ASSIGNING <ls_dd03p>.
|
APPEND INITIAL LINE TO lt_dd03p ASSIGNING <ls_dd03p>.
|
||||||
<ls_dd03p>-tabname = lcl_persistence_db=>c_tabname.
|
<ls_dd03p>-tabname = zcl_abapgit_persistence_db=>c_tabname.
|
||||||
<ls_dd03p>-fieldname = 'TYPE'.
|
<ls_dd03p>-fieldname = 'TYPE'.
|
||||||
<ls_dd03p>-position = '0001'.
|
<ls_dd03p>-position = '0001'.
|
||||||
<ls_dd03p>-keyflag = 'X'.
|
<ls_dd03p>-keyflag = 'X'.
|
||||||
|
@ -1696,7 +1503,7 @@ CLASS lcl_persist_migrate IMPLEMENTATION.
|
||||||
<ls_dd03p>-leng = '000012'.
|
<ls_dd03p>-leng = '000012'.
|
||||||
|
|
||||||
APPEND INITIAL LINE TO lt_dd03p ASSIGNING <ls_dd03p>.
|
APPEND INITIAL LINE TO lt_dd03p ASSIGNING <ls_dd03p>.
|
||||||
<ls_dd03p>-tabname = lcl_persistence_db=>c_tabname.
|
<ls_dd03p>-tabname = zcl_abapgit_persistence_db=>c_tabname.
|
||||||
<ls_dd03p>-fieldname = 'VALUE'.
|
<ls_dd03p>-fieldname = 'VALUE'.
|
||||||
<ls_dd03p>-position = '0002'.
|
<ls_dd03p>-position = '0002'.
|
||||||
<ls_dd03p>-keyflag = 'X'.
|
<ls_dd03p>-keyflag = 'X'.
|
||||||
|
@ -1704,14 +1511,14 @@ CLASS lcl_persist_migrate IMPLEMENTATION.
|
||||||
<ls_dd03p>-leng = '000012'.
|
<ls_dd03p>-leng = '000012'.
|
||||||
|
|
||||||
APPEND INITIAL LINE TO lt_dd03p ASSIGNING <ls_dd03p>.
|
APPEND INITIAL LINE TO lt_dd03p ASSIGNING <ls_dd03p>.
|
||||||
<ls_dd03p>-tabname = lcl_persistence_db=>c_tabname.
|
<ls_dd03p>-tabname = zcl_abapgit_persistence_db=>c_tabname.
|
||||||
<ls_dd03p>-fieldname = 'DATA_STR'.
|
<ls_dd03p>-fieldname = 'DATA_STR'.
|
||||||
<ls_dd03p>-position = '0003'.
|
<ls_dd03p>-position = '0003'.
|
||||||
<ls_dd03p>-datatype = 'STRG'.
|
<ls_dd03p>-datatype = 'STRG'.
|
||||||
|
|
||||||
CALL FUNCTION 'DDIF_TABL_PUT'
|
CALL FUNCTION 'DDIF_TABL_PUT'
|
||||||
EXPORTING
|
EXPORTING
|
||||||
name = lcl_persistence_db=>c_tabname
|
name = zcl_abapgit_persistence_db=>c_tabname
|
||||||
dd02v_wa = ls_dd02v
|
dd02v_wa = ls_dd02v
|
||||||
dd09l_wa = ls_dd09l
|
dd09l_wa = ls_dd09l
|
||||||
TABLES
|
TABLES
|
||||||
|
@ -1727,7 +1534,7 @@ CLASS lcl_persist_migrate IMPLEMENTATION.
|
||||||
zcx_abapgit_exception=>raise( 'migrate, error from DDIF_TABL_PUT' ).
|
zcx_abapgit_exception=>raise( 'migrate, error from DDIF_TABL_PUT' ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
lv_obj_name = lcl_persistence_db=>c_tabname.
|
lv_obj_name = zcl_abapgit_persistence_db=>c_tabname.
|
||||||
CALL FUNCTION 'TR_TADIR_INTERFACE'
|
CALL FUNCTION 'TR_TADIR_INTERFACE'
|
||||||
EXPORTING
|
EXPORTING
|
||||||
wi_tadir_pgmid = 'R3TR'
|
wi_tadir_pgmid = 'R3TR'
|
||||||
|
@ -1744,7 +1551,7 @@ CLASS lcl_persist_migrate IMPLEMENTATION.
|
||||||
|
|
||||||
CALL FUNCTION 'DDIF_TABL_ACTIVATE'
|
CALL FUNCTION 'DDIF_TABL_ACTIVATE'
|
||||||
EXPORTING
|
EXPORTING
|
||||||
name = lcl_persistence_db=>c_tabname
|
name = zcl_abapgit_persistence_db=>c_tabname
|
||||||
auth_chk = abap_false
|
auth_chk = abap_false
|
||||||
IMPORTING
|
IMPORTING
|
||||||
rc = lv_rc
|
rc = lv_rc
|
||||||
|
@ -1840,7 +1647,7 @@ CLASS lcl_settings IMPLEMENTATION.
|
||||||
|
|
||||||
CREATE OBJECT lr_output.
|
CREATE OBJECT lr_output.
|
||||||
|
|
||||||
lr_output->add( iv_name = lcl_settings=>c_dbtype_settings
|
lr_output->add( iv_name = zcl_abapgit_persistence_db=>c_type_settings
|
||||||
ig_data = ms_settings ).
|
ig_data = ms_settings ).
|
||||||
|
|
||||||
ev_settings_xml = lr_output->render( ).
|
ev_settings_xml = lr_output->render( ).
|
||||||
|
@ -1855,7 +1662,7 @@ CLASS lcl_settings IMPLEMENTATION.
|
||||||
|
|
||||||
CLEAR ms_settings.
|
CLEAR ms_settings.
|
||||||
|
|
||||||
lr_input->read( EXPORTING iv_name = lcl_settings=>c_dbtype_settings
|
lr_input->read( EXPORTING iv_name = zcl_abapgit_persistence_db=>c_type_settings
|
||||||
CHANGING cg_data = ms_settings ).
|
CHANGING cg_data = ms_settings ).
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
@ -1884,7 +1691,7 @@ CLASS lcl_persist_settings IMPLEMENTATION.
|
||||||
settings = io_settings->get_settings_xml( ).
|
settings = io_settings->get_settings_xml( ).
|
||||||
|
|
||||||
lcl_app=>db( )->modify(
|
lcl_app=>db( )->modify(
|
||||||
iv_type = lcl_settings=>c_dbtype_settings
|
iv_type = zcl_abapgit_persistence_db=>c_type_settings
|
||||||
iv_value = ''
|
iv_value = ''
|
||||||
iv_data = settings ).
|
iv_data = settings ).
|
||||||
|
|
||||||
|
@ -1909,7 +1716,7 @@ CLASS lcl_persist_settings IMPLEMENTATION.
|
||||||
TRY.
|
TRY.
|
||||||
|
|
||||||
ro_settings->set_xml_settings(
|
ro_settings->set_xml_settings(
|
||||||
lcl_app=>db( )->read( iv_type = lcl_settings=>c_dbtype_settings
|
lcl_app=>db( )->read( iv_type = zcl_abapgit_persistence_db=>c_type_settings
|
||||||
iv_value = '' ) ).
|
iv_value = '' ) ).
|
||||||
|
|
||||||
CATCH zcx_abapgit_not_found zcx_abapgit_exception.
|
CATCH zcx_abapgit_not_found zcx_abapgit_exception.
|
||||||
|
|
|
@ -12,7 +12,7 @@ CLASS lcl_repo DEFINITION ABSTRACT FRIENDS lcl_repo_srv.
|
||||||
constructor
|
constructor
|
||||||
IMPORTING is_data TYPE lcl_persistence_repo=>ty_repo,
|
IMPORTING is_data TYPE lcl_persistence_repo=>ty_repo,
|
||||||
get_key
|
get_key
|
||||||
RETURNING VALUE(rv_key) TYPE lcl_persistence_db=>ty_value,
|
RETURNING VALUE(rv_key) TYPE zcl_abapgit_persistence_db=>ty_value,
|
||||||
get_name
|
get_name
|
||||||
RETURNING VALUE(rv_name) TYPE string
|
RETURNING VALUE(rv_name) TYPE string
|
||||||
RAISING zcx_abapgit_exception,
|
RAISING zcx_abapgit_exception,
|
||||||
|
@ -206,7 +206,7 @@ CLASS lcl_repo_srv DEFINITION FINAL CREATE PRIVATE FRIENDS lcl_app.
|
||||||
RAISING zcx_abapgit_exception.
|
RAISING zcx_abapgit_exception.
|
||||||
|
|
||||||
METHODS get
|
METHODS get
|
||||||
IMPORTING iv_key TYPE lcl_persistence_db=>ty_value
|
IMPORTING iv_key TYPE zcl_abapgit_persistence_db=>ty_value
|
||||||
RETURNING VALUE(ro_repo) TYPE REF TO lcl_repo
|
RETURNING VALUE(ro_repo) TYPE REF TO lcl_repo
|
||||||
RAISING zcx_abapgit_exception.
|
RAISING zcx_abapgit_exception.
|
||||||
|
|
||||||
|
@ -217,7 +217,7 @@ CLASS lcl_repo_srv DEFINITION FINAL CREATE PRIVATE FRIENDS lcl_app.
|
||||||
RAISING zcx_abapgit_exception.
|
RAISING zcx_abapgit_exception.
|
||||||
|
|
||||||
METHODS switch_repo_type
|
METHODS switch_repo_type
|
||||||
IMPORTING iv_key TYPE lcl_persistence_db=>ty_value
|
IMPORTING iv_key TYPE zcl_abapgit_persistence_db=>ty_value
|
||||||
iv_offline TYPE abap_bool
|
iv_offline TYPE abap_bool
|
||||||
RAISING zcx_abapgit_exception.
|
RAISING zcx_abapgit_exception.
|
||||||
|
|
||||||
|
|
|
@ -6,11 +6,11 @@ CLASS lcl_services_db DEFINITION FINAL.
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
|
|
||||||
CLASS-METHODS delete
|
CLASS-METHODS delete
|
||||||
IMPORTING is_key TYPE lcl_persistence_db=>ty_content
|
IMPORTING is_key TYPE zcl_abapgit_persistence_db=>ty_content
|
||||||
RAISING zcx_abapgit_exception zcx_abapgit_cancel.
|
RAISING zcx_abapgit_exception zcx_abapgit_cancel.
|
||||||
|
|
||||||
CLASS-METHODS update
|
CLASS-METHODS update
|
||||||
IMPORTING is_content TYPE lcl_persistence_db=>ty_content
|
IMPORTING is_content TYPE zcl_abapgit_persistence_db=>ty_content
|
||||||
RAISING zcx_abapgit_exception.
|
RAISING zcx_abapgit_exception.
|
||||||
|
|
||||||
ENDCLASS. "lcl_services_db
|
ENDCLASS. "lcl_services_db
|
||||||
|
|
|
@ -48,7 +48,7 @@ CLASS lcl_services_repo DEFINITION FINAL.
|
||||||
RAISING zcx_abapgit_exception.
|
RAISING zcx_abapgit_exception.
|
||||||
|
|
||||||
CLASS-METHODS transport_to_branch
|
CLASS-METHODS transport_to_branch
|
||||||
IMPORTING iv_repository_key TYPE lcl_persistence_db=>ty_value
|
IMPORTING iv_repository_key TYPE zcl_abapgit_persistence_db=>ty_value
|
||||||
RAISING zcx_abapgit_exception zcx_abapgit_cancel.
|
RAISING zcx_abapgit_exception zcx_abapgit_cancel.
|
||||||
|
|
||||||
ENDCLASS. "lcl_services_repo
|
ENDCLASS. "lcl_services_repo
|
||||||
|
|
|
@ -267,7 +267,7 @@ CLASS lcl_gui_view_repo IMPLEMENTATION.
|
||||||
DATA: lo_tb_advanced TYPE REF TO zcl_abapgit_html_toolbar,
|
DATA: lo_tb_advanced TYPE REF TO zcl_abapgit_html_toolbar,
|
||||||
lo_tb_branch TYPE REF TO zcl_abapgit_html_toolbar,
|
lo_tb_branch TYPE REF TO zcl_abapgit_html_toolbar,
|
||||||
lo_tb_tag TYPE REF TO zcl_abapgit_html_toolbar,
|
lo_tb_tag TYPE REF TO zcl_abapgit_html_toolbar,
|
||||||
lv_key TYPE lcl_persistence_db=>ty_value,
|
lv_key TYPE zcl_abapgit_persistence_db=>ty_value,
|
||||||
lv_wp_opt LIKE zif_abapgit_definitions=>gc_html_opt-crossout,
|
lv_wp_opt LIKE zif_abapgit_definitions=>gc_html_opt-crossout,
|
||||||
lv_crossout LIKE zif_abapgit_definitions=>gc_html_opt-crossout,
|
lv_crossout LIKE zif_abapgit_definitions=>gc_html_opt-crossout,
|
||||||
lv_pull_opt LIKE zif_abapgit_definitions=>gc_html_opt-crossout.
|
lv_pull_opt LIKE zif_abapgit_definitions=>gc_html_opt-crossout.
|
||||||
|
|
|
@ -11,7 +11,7 @@ CLASS lcl_zip DEFINITION FINAL.
|
||||||
|
|
||||||
PUBLIC SECTION.
|
PUBLIC SECTION.
|
||||||
CLASS-METHODS import
|
CLASS-METHODS import
|
||||||
IMPORTING iv_key TYPE lcl_persistence_db=>ty_value
|
IMPORTING iv_key TYPE zcl_abapgit_persistence_db=>ty_value
|
||||||
RAISING zcx_abapgit_exception.
|
RAISING zcx_abapgit_exception.
|
||||||
|
|
||||||
CLASS-METHODS export
|
CLASS-METHODS export
|
||||||
|
|
Loading…
Reference in New Issue
Block a user