mirror of
https://github.com/abapGit/abapGit.git
synced 2025-05-01 12:20:51 +08:00
tutorial, show correct abapgit package
tutorial, show correct abapgit package #2461
This commit is contained in:
parent
21527528c6
commit
d8da05b8bc
|
@ -19,6 +19,8 @@ CLASS ZCL_ABAPGIT_GUI_VIEW_TUTORIAL IMPLEMENTATION.
|
||||||
|
|
||||||
METHOD render_content.
|
METHOD render_content.
|
||||||
|
|
||||||
|
DATA: lv_devclass TYPE tadir-devclass.
|
||||||
|
|
||||||
CREATE OBJECT ro_html.
|
CREATE OBJECT ro_html.
|
||||||
|
|
||||||
ro_html->add( '<h1>Tutorial</h1>' ).
|
ro_html->add( '<h1>Tutorial</h1>' ).
|
||||||
|
@ -54,14 +56,17 @@ CLASS ZCL_ABAPGIT_GUI_VIEW_TUTORIAL IMPLEMENTATION.
|
||||||
ro_html->add( '<h2>abapGit repository</h2>' ).
|
ro_html->add( '<h2>abapGit repository</h2>' ).
|
||||||
ro_html->add( '<p><ul>' ).
|
ro_html->add( '<p><ul>' ).
|
||||||
ro_html->add( '<li>' ).
|
ro_html->add( '<li>' ).
|
||||||
IF zcl_abapgit_services_abapgit=>is_installed( ) = abap_true.
|
|
||||||
|
lv_devclass = zcl_abapgit_services_abapgit=>is_installed( ).
|
||||||
|
IF NOT lv_devclass IS INITIAL.
|
||||||
ro_html->add( 'abapGit installed in package ' ).
|
ro_html->add( 'abapGit installed in package ' ).
|
||||||
ro_html->add( zcl_abapgit_services_abapgit=>c_package_abapgit ).
|
ro_html->add( lv_devclass ).
|
||||||
ELSE.
|
ELSE.
|
||||||
ro_html->add_a( iv_txt = 'install abapGit repo' iv_act = zif_abapgit_definitions=>c_action-abapgit_install ).
|
ro_html->add_a( iv_txt = 'install abapGit repo' iv_act = zif_abapgit_definitions=>c_action-abapgit_install ).
|
||||||
ro_html->add( ' - To keep abapGit up-to-date (or also to contribute) you need to' ).
|
ro_html->add( ' - To keep abapGit up-to-date (or also to contribute) you need to' ).
|
||||||
ro_html->add( 'install it as a repository.' ).
|
ro_html->add( 'install it as a repository.' ).
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ro_html->add( '</li>' ).
|
ro_html->add( '</li>' ).
|
||||||
ro_html->add( '</ul></p>' ).
|
ro_html->add( '</ul></p>' ).
|
||||||
|
|
||||||
|
|
|
@ -23,11 +23,11 @@ CLASS zcl_abapgit_services_abapgit DEFINITION
|
||||||
zcx_abapgit_cancel .
|
zcx_abapgit_cancel .
|
||||||
CLASS-METHODS is_installed
|
CLASS-METHODS is_installed
|
||||||
RETURNING
|
RETURNING
|
||||||
VALUE(rv_installed) TYPE abap_bool .
|
VALUE(rv_devclass) TYPE tadir-devclass .
|
||||||
CLASS-METHODS prepare_gui_startup
|
CLASS-METHODS prepare_gui_startup
|
||||||
RAISING
|
RAISING
|
||||||
zcx_abapgit_exception.
|
zcx_abapgit_exception .
|
||||||
|
PROTECTED SECTION.
|
||||||
PRIVATE SECTION.
|
PRIVATE SECTION.
|
||||||
CLASS-METHODS do_install
|
CLASS-METHODS do_install
|
||||||
IMPORTING iv_title TYPE c
|
IMPORTING iv_title TYPE c
|
||||||
|
@ -50,7 +50,7 @@ ENDCLASS.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
CLASS zcl_abapgit_services_abapgit IMPLEMENTATION.
|
CLASS ZCL_ABAPGIT_SERVICES_ABAPGIT IMPLEMENTATION.
|
||||||
|
|
||||||
|
|
||||||
METHOD do_install.
|
METHOD do_install.
|
||||||
|
@ -92,16 +92,76 @@ CLASS zcl_abapgit_services_abapgit IMPLEMENTATION.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
|
METHOD get_package_from_adt.
|
||||||
|
|
||||||
|
DATA: ls_item TYPE zif_abapgit_definitions=>ty_item,
|
||||||
|
lr_context TYPE REF TO data,
|
||||||
|
lt_fields TYPE tihttpnvp.
|
||||||
|
|
||||||
|
|
||||||
|
FIELD-SYMBOLS: <ls_context> TYPE any,
|
||||||
|
<lv_parameters> TYPE string,
|
||||||
|
<ls_field> LIKE LINE OF lt_fields.
|
||||||
|
|
||||||
|
ls_item-obj_type = 'CLAS'.
|
||||||
|
ls_item-obj_name = 'CL_ADT_GUI_INTEGRATION_CONTEXT'.
|
||||||
|
|
||||||
|
IF zcl_abapgit_objects=>exists( ls_item ) = abap_false.
|
||||||
|
" ADT is not supported in this NW release
|
||||||
|
RETURN.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
TRY.
|
||||||
|
CREATE DATA lr_context TYPE ('CL_ADT_GUI_INTEGRATION_CONTEXT=>TY_CONTEXT_INFO').
|
||||||
|
|
||||||
|
ASSIGN lr_context->* TO <ls_context>.
|
||||||
|
ASSERT sy-subrc = 0.
|
||||||
|
|
||||||
|
CALL METHOD ('CL_ADT_GUI_INTEGRATION_CONTEXT')=>read_context
|
||||||
|
RECEIVING
|
||||||
|
result = <ls_context>.
|
||||||
|
|
||||||
|
ASSIGN COMPONENT 'PARAMETERS'
|
||||||
|
OF STRUCTURE <ls_context>
|
||||||
|
TO <lv_parameters>.
|
||||||
|
ASSERT sy-subrc = 0.
|
||||||
|
|
||||||
|
lt_fields = cl_http_utility=>string_to_fields(
|
||||||
|
cl_http_utility=>unescape_url(
|
||||||
|
<lv_parameters> ) ).
|
||||||
|
|
||||||
|
READ TABLE lt_fields ASSIGNING <ls_field>
|
||||||
|
WITH KEY name = 'p_package_name'.
|
||||||
|
IF sy-subrc = 0.
|
||||||
|
rv_package = <ls_field>-value.
|
||||||
|
|
||||||
|
" We want to open the repo just once. Therefore we delete the parameters
|
||||||
|
" and initialize the ADT context.
|
||||||
|
CLEAR <lv_parameters>.
|
||||||
|
CALL METHOD ('CL_ADT_GUI_INTEGRATION_CONTEXT')=>initialize_instance
|
||||||
|
EXPORTING
|
||||||
|
context_info = <ls_context>.
|
||||||
|
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
CATCH cx_root.
|
||||||
|
" Some problems with dynamic ADT access.
|
||||||
|
" Let's ignore it for now and fail silently
|
||||||
|
ENDTRY.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD install_abapgit.
|
METHOD install_abapgit.
|
||||||
|
|
||||||
CONSTANTS lc_title TYPE c LENGTH 40 VALUE 'Install abapGit'.
|
CONSTANTS lc_title TYPE c LENGTH 40 VALUE 'Install abapGit'.
|
||||||
DATA lv_text TYPE c LENGTH 100.
|
DATA lv_text TYPE c LENGTH 100.
|
||||||
|
|
||||||
IF is_installed( ) = abap_true.
|
IF NOT is_installed( ) IS INITIAL.
|
||||||
lv_text = 'Seems like abapGit package is already installed. No changes to be done'.
|
lv_text = 'Seems like abapGit package is already installed. No changes to be done'.
|
||||||
zcl_abapgit_ui_factory=>get_popups( )->popup_to_inform(
|
zcl_abapgit_ui_factory=>get_popups( )->popup_to_inform(
|
||||||
iv_titlebar = lc_title
|
iv_titlebar = lc_title
|
||||||
iv_text_message = lv_text ).
|
iv_text_message = lv_text ).
|
||||||
RETURN.
|
RETURN.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
|
@ -114,16 +174,15 @@ CLASS zcl_abapgit_services_abapgit IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD is_installed.
|
METHOD is_installed.
|
||||||
|
|
||||||
DATA: ls_item TYPE zif_abapgit_definitions=>ty_item.
|
SELECT SINGLE devclass FROM tadir INTO rv_devclass
|
||||||
|
WHERE object = 'TRAN' AND obj_name = c_abapgit_tcode.
|
||||||
ls_item-obj_type = 'TRAN'.
|
|
||||||
ls_item-obj_name = c_abapgit_tcode.
|
|
||||||
rv_installed = zcl_abapgit_objects=>exists( ls_item ).
|
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD open_abapgit_homepage.
|
METHOD open_abapgit_homepage.
|
||||||
|
|
||||||
cl_gui_frontend_services=>execute(
|
cl_gui_frontend_services=>execute(
|
||||||
|
@ -147,6 +206,7 @@ CLASS zcl_abapgit_services_abapgit IMPLEMENTATION.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD prepare_gui_startup.
|
METHOD prepare_gui_startup.
|
||||||
|
|
||||||
DATA: lv_repo_key TYPE zif_abapgit_persistence=>ty_value,
|
DATA: lv_repo_key TYPE zif_abapgit_persistence=>ty_value,
|
||||||
|
@ -234,65 +294,4 @@ CLASS zcl_abapgit_services_abapgit IMPLEMENTATION.
|
||||||
ENDIF.
|
ENDIF.
|
||||||
|
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
|
||||||
METHOD get_package_from_adt.
|
|
||||||
|
|
||||||
DATA: ls_item TYPE zif_abapgit_definitions=>ty_item,
|
|
||||||
lr_context TYPE REF TO data,
|
|
||||||
lt_fields TYPE tihttpnvp.
|
|
||||||
|
|
||||||
|
|
||||||
FIELD-SYMBOLS: <ls_context> TYPE any,
|
|
||||||
<lv_parameters> TYPE string,
|
|
||||||
<ls_field> LIKE LINE OF lt_fields.
|
|
||||||
|
|
||||||
ls_item-obj_type = 'CLAS'.
|
|
||||||
ls_item-obj_name = 'CL_ADT_GUI_INTEGRATION_CONTEXT'.
|
|
||||||
|
|
||||||
IF zcl_abapgit_objects=>exists( ls_item ) = abap_false.
|
|
||||||
" ADT is not supported in this NW release
|
|
||||||
RETURN.
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
TRY.
|
|
||||||
CREATE DATA lr_context TYPE ('CL_ADT_GUI_INTEGRATION_CONTEXT=>TY_CONTEXT_INFO').
|
|
||||||
|
|
||||||
ASSIGN lr_context->* TO <ls_context>.
|
|
||||||
ASSERT sy-subrc = 0.
|
|
||||||
|
|
||||||
CALL METHOD ('CL_ADT_GUI_INTEGRATION_CONTEXT')=>read_context
|
|
||||||
RECEIVING
|
|
||||||
result = <ls_context>.
|
|
||||||
|
|
||||||
ASSIGN COMPONENT 'PARAMETERS'
|
|
||||||
OF STRUCTURE <ls_context>
|
|
||||||
TO <lv_parameters>.
|
|
||||||
ASSERT sy-subrc = 0.
|
|
||||||
|
|
||||||
lt_fields = cl_http_utility=>string_to_fields(
|
|
||||||
cl_http_utility=>unescape_url(
|
|
||||||
<lv_parameters> ) ).
|
|
||||||
|
|
||||||
READ TABLE lt_fields ASSIGNING <ls_field>
|
|
||||||
WITH KEY name = 'p_package_name'.
|
|
||||||
IF sy-subrc = 0.
|
|
||||||
rv_package = <ls_field>-value.
|
|
||||||
|
|
||||||
" We want to open the repo just once. Therefore we delete the parameters
|
|
||||||
" and initialize the ADT context.
|
|
||||||
CLEAR <lv_parameters>.
|
|
||||||
CALL METHOD ('CL_ADT_GUI_INTEGRATION_CONTEXT')=>initialize_instance
|
|
||||||
EXPORTING
|
|
||||||
context_info = <ls_context>.
|
|
||||||
|
|
||||||
ENDIF.
|
|
||||||
|
|
||||||
CATCH cx_root.
|
|
||||||
" Some problems with dynamic ADT access.
|
|
||||||
" Let's ignore it for now and fail silently
|
|
||||||
ENDTRY.
|
|
||||||
|
|
||||||
ENDMETHOD.
|
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user