mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
Merge pull request #1564 from EduardoCopat/1280
validate sub and super packages from installed repos
This commit is contained in:
commit
1abce8e84c
|
@ -35,14 +35,21 @@ CLASS zcl_abapgit_repo_srv DEFINITION
|
||||||
VALUE(rv_allowed) TYPE abap_bool .
|
VALUE(rv_allowed) TYPE abap_bool .
|
||||||
METHODS add
|
METHODS add
|
||||||
IMPORTING
|
IMPORTING
|
||||||
!io_repo TYPE REF TO zcl_abapgit_repo
|
io_repo TYPE REF TO zcl_abapgit_repo
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception .
|
zcx_abapgit_exception .
|
||||||
|
METHODS validate_sub_super_packages
|
||||||
|
IMPORTING
|
||||||
|
iv_package TYPE devclass
|
||||||
|
it_repos TYPE zif_abapgit_persistence=>tt_repo
|
||||||
|
RAISING
|
||||||
|
zcx_abapgit_exception.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS ZCL_ABAPGIT_REPO_SRV IMPLEMENTATION.
|
CLASS zcl_abapgit_repo_srv IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD add.
|
METHOD add.
|
||||||
|
@ -323,7 +330,6 @@ CLASS ZCL_ABAPGIT_REPO_SRV IMPLEMENTATION.
|
||||||
DATA: lv_as4user TYPE tdevc-as4user,
|
DATA: lv_as4user TYPE tdevc-as4user,
|
||||||
lt_repos TYPE zif_abapgit_persistence=>tt_repo.
|
lt_repos TYPE zif_abapgit_persistence=>tt_repo.
|
||||||
|
|
||||||
|
|
||||||
IF iv_package IS INITIAL.
|
IF iv_package IS INITIAL.
|
||||||
zcx_abapgit_exception=>raise( 'add, package empty' ).
|
zcx_abapgit_exception=>raise( 'add, package empty' ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
@ -350,5 +356,30 @@ CLASS ZCL_ABAPGIT_REPO_SRV IMPLEMENTATION.
|
||||||
zcx_abapgit_exception=>raise( |Package { iv_package } already in use| ).
|
zcx_abapgit_exception=>raise( |Package { iv_package } already in use| ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
validate_sub_super_packages(
|
||||||
|
iv_package = iv_package
|
||||||
|
it_repos = lt_repos ).
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD validate_sub_super_packages.
|
||||||
|
DATA:
|
||||||
|
ls_repo LIKE LINE OF it_repos,
|
||||||
|
lo_package TYPE REF TO zif_abapgit_sap_package,
|
||||||
|
lt_packages TYPE zif_abapgit_sap_package=>ty_devclass_tt,
|
||||||
|
lo_repo TYPE REF TO zcl_abapgit_repo.
|
||||||
|
|
||||||
|
LOOP AT it_repos INTO ls_repo.
|
||||||
|
lo_repo = get( ls_repo-key ).
|
||||||
|
|
||||||
|
lo_package = zcl_abapgit_factory=>get_sap_package( ls_repo-package ).
|
||||||
|
APPEND LINES OF lo_package->list_subpackages( ) TO lt_packages.
|
||||||
|
APPEND LINES OF lo_package->list_superpackages( ) TO lt_packages.
|
||||||
|
READ TABLE lt_packages TRANSPORTING NO FIELDS
|
||||||
|
WITH KEY table_line = iv_package.
|
||||||
|
IF sy-subrc = 0.
|
||||||
|
zcx_abapgit_exception=>raise( |Repository { lo_repo->get_name( ) } already contains { iv_package } | ).
|
||||||
|
ENDIF.
|
||||||
|
ENDLOOP.
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user