refactor tag prefix logic into own class

This commit is contained in:
Christian Günter 2018-01-04 13:33:29 +00:00
parent ba0ed2eb9b
commit 27f82b3e98
6 changed files with 75 additions and 36 deletions

View File

@ -49,6 +49,7 @@ INCLUDE zabapgit_authorizations.
INCLUDE zabapgit_exit. INCLUDE zabapgit_exit.
INCLUDE zabapgit_proxy. INCLUDE zabapgit_proxy.
INCLUDE zabapgit_tag.
INCLUDE zabapgit_stage. INCLUDE zabapgit_stage.
INCLUDE zabapgit_git_helpers. INCLUDE zabapgit_git_helpers.
INCLUDE zabapgit_repo. INCLUDE zabapgit_repo.

View File

@ -323,11 +323,7 @@ CLASS lcl_branch_overview IMPLEMENTATION.
ASSIGNING <ls_commit>. ASSIGNING <ls_commit>.
CHECK sy-subrc = 0. CHECK sy-subrc = 0.
lv_tag = <ls_tag>-name. lv_tag = lcl_tag=>remove_tag_prefix( <ls_tag>-name ).
REPLACE FIRST OCCURRENCE OF zif_abapgit_definitions=>gc_tag_prefix
IN lv_tag
WITH ''.
INSERT lv_tag INTO TABLE <ls_commit>-tags. INSERT lv_tag INTO TABLE <ls_commit>-tags.
ENDLOOP. ENDLOOP.

View File

@ -137,13 +137,7 @@ CLASS lcl_popups DEFINITION FINAL.
EXPORTING EXPORTING
ev_url TYPE abaptxt255-line ev_url TYPE abaptxt255-line
ev_package TYPE tdevc-devclass ev_package TYPE tdevc-devclass
ev_branch TYPE textl-line, ev_branch TYPE textl-line.
remove_tag_prefix
IMPORTING
iv_text TYPE string
RETURNING
VALUE(rv_text) TYPE spopli-varoption.
ENDCLASS. ENDCLASS.
@ -347,7 +341,7 @@ CLASS lcl_popups IMPLEMENTATION.
READ TABLE lt_fields WITH KEY fieldname = 'LINE' READ TABLE lt_fields WITH KEY fieldname = 'LINE'
ASSIGNING <ls_field>. ASSIGNING <ls_field>.
ASSERT sy-subrc = 0. ASSERT sy-subrc = 0.
ev_name = |{ zif_abapgit_definitions=>gc_tag_prefix }{ <ls_field>-value }|. ev_name = lcl_tag=>add_tag_prefix( <ls_field>-value ).
ENDIF. ENDIF.
ENDMETHOD. ENDMETHOD.
@ -604,7 +598,7 @@ CLASS lcl_popups IMPLEMENTATION.
LOOP AT lt_tags ASSIGNING <ls_tag>. LOOP AT lt_tags ASSIGNING <ls_tag>.
INSERT INITIAL LINE INTO lt_selection INDEX 1 ASSIGNING <ls_sel>. INSERT INITIAL LINE INTO lt_selection INDEX 1 ASSIGNING <ls_sel>.
<ls_sel>-varoption = remove_tag_prefix( <ls_tag>-name ). <ls_sel>-varoption = lcl_tag=>remove_tag_prefix( <ls_tag>-name ).
ENDLOOP. ENDLOOP.
@ -634,7 +628,7 @@ CLASS lcl_popups IMPLEMENTATION.
READ TABLE lt_selection ASSIGNING <ls_sel> WITH KEY selflag = abap_true. READ TABLE lt_selection ASSIGNING <ls_sel> WITH KEY selflag = abap_true.
ASSERT sy-subrc = 0. ASSERT sy-subrc = 0.
lv_name_with_prefix = zif_abapgit_definitions=>gc_tag_prefix && <ls_sel>-varoption. lv_name_with_prefix = lcl_tag=>add_Tag_prefix( <ls_sel>-varoption ).
READ TABLE lt_tags ASSIGNING <ls_tag> WITH KEY name = lv_name_with_prefix. READ TABLE lt_tags ASSIGNING <ls_tag> WITH KEY name = lv_name_with_prefix.
ASSERT sy-subrc = 0. ASSERT sy-subrc = 0.
@ -645,7 +639,7 @@ CLASS lcl_popups IMPLEMENTATION.
LOOP AT lt_tags ASSIGNING <ls_tag>. LOOP AT lt_tags ASSIGNING <ls_tag>.
<ls_tag>-name = remove_tag_prefix( <ls_tag>-name ). <ls_tag>-name = lcl_tag=>remove_tag_prefix( <ls_tag>-name ).
<ls_tag>-sha1 = <ls_tag>-sha1(7). <ls_tag>-sha1 = <ls_tag>-sha1(7).
ENDLOOP. ENDLOOP.
@ -1230,14 +1224,4 @@ CLASS lcl_popups IMPLEMENTATION.
ENDMETHOD. ENDMETHOD.
METHOD remove_tag_prefix.
rv_text = iv_text.
REPLACE FIRST OCCURRENCE OF zif_abapgit_definitions=>gc_tag_prefix
IN rv_text
WITH ''.
ENDMETHOD.
ENDCLASS. ENDCLASS.

View File

@ -256,11 +256,7 @@ CLASS lcl_services_git IMPLEMENTATION.
zcx_abapgit_exception=>raise( |Cannot create tag { lv_name }. Error: '{ lx_error->text }'| ). zcx_abapgit_exception=>raise( |Cannot create tag { lv_name }. Error: '{ lx_error->text }'| ).
ENDTRY. ENDTRY.
REPLACE FIRST OCCURRENCE OF zif_abapgit_definitions=>gc_tag_prefix lv_text = |Tag { lcl_tag=>remove_tag_prefix( lv_name ) } created| ##NO_TEXT.
IN lv_name
WITH ''.
lv_text = |Tag { lv_name } created| ##NO_TEXT.
MESSAGE lv_text TYPE 'S'. MESSAGE lv_text TYPE 'S'.
@ -283,11 +279,7 @@ CLASS lcl_services_git IMPLEMENTATION.
io_repo = lo_repo io_repo = lo_repo
is_tag = ls_tag ). is_tag = ls_tag ).
REPLACE FIRST OCCURRENCE OF zif_abapgit_definitions=>gc_tag_prefix lv_text = |Tag { lcl_tag=>remove_tag_prefix( ls_tag-name ) } deleted| ##NO_TEXT.
IN ls_tag-name
WITH ''.
lv_text = |Tag { ls_tag-name } deleted| ##NO_TEXT.
MESSAGE lv_text TYPE 'S'. MESSAGE lv_text TYPE 'S'.

View File

@ -0,0 +1,41 @@
*&---------------------------------------------------------------------*
*& Include zabapgit_tag
*&---------------------------------------------------------------------*
CLASS lcl_tag DEFINITION.
PUBLIC SECTION.
CLASS-METHODS:
add_tag_prefix
IMPORTING
iv_text TYPE csequence
RETURNING
VALUE(rv_text) TYPE string,
remove_tag_prefix
IMPORTING
iv_text TYPE string
RETURNING
VALUE(rv_text) TYPE string.
ENDCLASS.
CLASS lcl_tag IMPLEMENTATION.
METHOD add_tag_prefix.
rv_text = zif_abapgit_definitions=>gc_tag_prefix && iv_text.
ENDMETHOD.
METHOD remove_tag_prefix.
rv_text = iv_text.
REPLACE FIRST OCCURRENCE OF zif_abapgit_definitions=>gc_tag_prefix
IN rv_text
WITH ''.
ENDMETHOD.
ENDCLASS.

25
src/zabapgit_tag.prog.xml Normal file
View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_PROG" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<PROGDIR>
<NAME>ZABAPGIT_TAG</NAME>
<STATE>A</STATE>
<VARCL>X</VARCL>
<DBAPL>S</DBAPL>
<DBNA>D$</DBNA>
<SUBC>I</SUBC>
<FIXPT>X</FIXPT>
<LDBNAME>D$S</LDBNAME>
<UCCHECK>X</UCCHECK>
</PROGDIR>
<TPOOL>
<item>
<ID>R</ID>
<ENTRY>ZABAPGIT_TAG</ENTRY>
<LENGTH>12</LENGTH>
</item>
</TPOOL>
</asx:values>
</asx:abap>
</abapGit>