mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
add global class zcl_abapgit_url
This commit is contained in:
parent
4c2d9ad45f
commit
dcaeb74280
91
src/zcl_abapgit_url.clas.abap
Normal file
91
src/zcl_abapgit_url.clas.abap
Normal file
|
@ -0,0 +1,91 @@
|
||||||
|
CLASS zcl_abapgit_url DEFINITION
|
||||||
|
PUBLIC
|
||||||
|
FINAL
|
||||||
|
CREATE PUBLIC .
|
||||||
|
|
||||||
|
PUBLIC SECTION.
|
||||||
|
|
||||||
|
CLASS-METHODS:
|
||||||
|
host
|
||||||
|
IMPORTING
|
||||||
|
!iv_repo TYPE string
|
||||||
|
RETURNING
|
||||||
|
VALUE(rv_host) TYPE string
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception,
|
||||||
|
|
||||||
|
name
|
||||||
|
IMPORTING
|
||||||
|
!iv_repo TYPE string
|
||||||
|
RETURNING
|
||||||
|
VALUE(rv_name) TYPE string
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception,
|
||||||
|
|
||||||
|
path_name
|
||||||
|
IMPORTING
|
||||||
|
!iv_repo TYPE string
|
||||||
|
RETURNING
|
||||||
|
VALUE(rv_path_name) TYPE string
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception .
|
||||||
|
|
||||||
|
PRIVATE SECTION.
|
||||||
|
CLASS-METHODS:
|
||||||
|
regex
|
||||||
|
IMPORTING
|
||||||
|
!iv_repo TYPE string
|
||||||
|
EXPORTING
|
||||||
|
!ev_host TYPE string
|
||||||
|
!ev_path TYPE string
|
||||||
|
!ev_name TYPE string
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception .
|
||||||
|
|
||||||
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
CLASS zcl_abapgit_url IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD host.
|
||||||
|
|
||||||
|
regex( EXPORTING iv_repo = iv_repo
|
||||||
|
IMPORTING ev_host = rv_host ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD name.
|
||||||
|
|
||||||
|
regex( EXPORTING iv_repo = iv_repo
|
||||||
|
IMPORTING ev_name = rv_name ).
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD path_name.
|
||||||
|
|
||||||
|
|
||||||
|
DATA: lv_host TYPE string ##NEEDED.
|
||||||
|
|
||||||
|
FIND REGEX '(.*://[^/]*)(.*)' IN iv_repo
|
||||||
|
SUBMATCHES lv_host rv_path_name.
|
||||||
|
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD regex.
|
||||||
|
|
||||||
|
|
||||||
|
FIND REGEX '(.*://[^/]*)(.*/)([^\.]*)[\.git]?' IN iv_repo
|
||||||
|
SUBMATCHES ev_host ev_path ev_name.
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
zcx_abapgit_exception=>raise( 'Malformed URL' ).
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
ENDCLASS.
|
44
src/zcl_abapgit_url.clas.xml
Normal file
44
src/zcl_abapgit_url.clas.xml
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
<?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_URL</CLSNAME>
|
||||||
|
<VERSION>1</VERSION>
|
||||||
|
<LANGU>E</LANGU>
|
||||||
|
<EXPOSURE>2</EXPOSURE>
|
||||||
|
<STATE>1</STATE>
|
||||||
|
<CLSFINAL>X</CLSFINAL>
|
||||||
|
<CLSCCINCL>X</CLSCCINCL>
|
||||||
|
<FIXPT>X</FIXPT>
|
||||||
|
<UNICODE>X</UNICODE>
|
||||||
|
</VSEOCLASS>
|
||||||
|
<DESCRIPTIONS>
|
||||||
|
<SEOCOMPOTX>
|
||||||
|
<CLSNAME>ZCL_ABAPGIT_URL</CLSNAME>
|
||||||
|
<CMPNAME>HOST</CMPNAME>
|
||||||
|
<LANGU>E</LANGU>
|
||||||
|
<DESCRIPT>HOST</DESCRIPT>
|
||||||
|
</SEOCOMPOTX>
|
||||||
|
<SEOCOMPOTX>
|
||||||
|
<CLSNAME>ZCL_ABAPGIT_URL</CLSNAME>
|
||||||
|
<CMPNAME>NAME</CMPNAME>
|
||||||
|
<LANGU>E</LANGU>
|
||||||
|
<DESCRIPT>NAME</DESCRIPT>
|
||||||
|
</SEOCOMPOTX>
|
||||||
|
<SEOCOMPOTX>
|
||||||
|
<CLSNAME>ZCL_ABAPGIT_URL</CLSNAME>
|
||||||
|
<CMPNAME>PATH_NAME</CMPNAME>
|
||||||
|
<LANGU>E</LANGU>
|
||||||
|
<DESCRIPT>PATH_NAME</DESCRIPT>
|
||||||
|
</SEOCOMPOTX>
|
||||||
|
<SEOCOMPOTX>
|
||||||
|
<CLSNAME>ZCL_ABAPGIT_URL</CLSNAME>
|
||||||
|
<CMPNAME>REGEX</CMPNAME>
|
||||||
|
<LANGU>E</LANGU>
|
||||||
|
<DESCRIPT>REGEX</DESCRIPT>
|
||||||
|
</SEOCOMPOTX>
|
||||||
|
</DESCRIPTIONS>
|
||||||
|
</asx:values>
|
||||||
|
</asx:abap>
|
||||||
|
</abapGit>
|
Loading…
Reference in New Issue
Block a user