From 400846e036bb2d2f4ea25a436234f5e45dc022a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20G=C3=BCnter?= Date: Mon, 6 Aug 2018 15:11:40 +0200 Subject: [PATCH] Downport method call chains to 702 + IF_OO_SOURCE_POS_INDEX_HELPER #1775 (#1776) * Downport method call chains to 702 + IF_OO_SOURCE_POS_INDEX_HELPER * catch exception if interfaces doesn't exist Catch exception if IF_OO_SOURCE_POS_INDEX_HELPER doesn't exist --- .../zcl_abapgit_oo_class_new.clas.abap | 29 ++++++++++++------- src/ui/zcl_abapgit_gui_router.clas.abap | 6 ++-- src/ui/zcl_abapgit_services_git.clas.abap | 12 +++++--- src/ui/zcl_abapgit_services_repo.clas.abap | 6 ++-- src/zabapgit_forms.prog.abap | 12 +++++--- src/zcl_abapgit_zip.clas.abap | 8 +++-- 6 files changed, 48 insertions(+), 25 deletions(-) diff --git a/src/objects/zcl_abapgit_oo_class_new.clas.abap b/src/objects/zcl_abapgit_oo_class_new.clas.abap index 3939b4f13..5f990bd31 100644 --- a/src/objects/zcl_abapgit_oo_class_new.clas.abap +++ b/src/objects/zcl_abapgit_oo_class_new.clas.abap @@ -68,7 +68,7 @@ ENDCLASS. -CLASS ZCL_ABAPGIT_OO_CLASS_NEW IMPLEMENTATION. +CLASS zcl_abapgit_oo_class_new IMPLEMENTATION. METHOD create_report. @@ -303,18 +303,27 @@ CLASS ZCL_ABAPGIT_OO_CLASS_NEW IMPLEMENTATION. METHOD update_source_index. - DATA li_index_helper TYPE REF TO if_oo_source_pos_index_helper. + " dynamic invocation, IF_OO_SOURCE_POS_INDEX_HELPER doesn't exist in 702. + DATA li_index_helper TYPE REF TO object. - CREATE OBJECT li_index_helper TYPE cl_oo_source_pos_index_helper. + TRY. + CREATE OBJECT li_index_helper TYPE cl_oo_source_pos_index_helper. - li_index_helper->create_index_with_scanner( - class_name = iv_clsname - version = if_oo_clif_source=>co_version_active - scanner = io_scanner ). + CALL METHOD li_index_helper->('IF_OO_SOURCE_POS_INDEX_HELPER~CREATE_INDEX_WITH_SCANNER') + EXPORTING + class_name = iv_clsname + version = if_oo_clif_source=>co_version_active + scanner = io_scanner. - li_index_helper->delete_index( - class_name = iv_clsname - version = if_oo_clif_source=>co_version_inactive ). + CALL METHOD li_index_helper->('IF_OO_SOURCE_POS_INDEX_HELPER~DELETE_INDEX') + EXPORTING + class_name = iv_clsname + version = if_oo_clif_source=>co_version_inactive. + + CATCH cx_root. + " it's probably okay to no update the index + RETURN. + ENDTRY. ENDMETHOD. diff --git a/src/ui/zcl_abapgit_gui_router.clas.abap b/src/ui/zcl_abapgit_gui_router.clas.abap index 32f09f533..4e867f3ef 100644 --- a/src/ui/zcl_abapgit_gui_router.clas.abap +++ b/src/ui/zcl_abapgit_gui_router.clas.abap @@ -105,9 +105,11 @@ CLASS ZCL_ABAPGIT_GUI_ROUTER IMPLEMENTATION. METHOD get_page_playground. DATA: lv_class_name TYPE string, - lv_cancel TYPE abap_bool. + lv_cancel TYPE abap_bool, + li_popups TYPE REF TO zif_abapgit_popups. - zcl_abapgit_ui_factory=>get_popups( )->run_page_class_popup( + li_popups = zcl_abapgit_ui_factory=>get_popups( ). + li_popups->run_page_class_popup( IMPORTING ev_name = lv_class_name ev_cancel = lv_cancel ). diff --git a/src/ui/zcl_abapgit_services_git.clas.abap b/src/ui/zcl_abapgit_services_git.clas.abap index 1fdf78b9f..dcd7fd63c 100644 --- a/src/ui/zcl_abapgit_services_git.clas.abap +++ b/src/ui/zcl_abapgit_services_git.clas.abap @@ -127,12 +127,14 @@ CLASS ZCL_ABAPGIT_SERVICES_GIT IMPLEMENTATION. DATA: lv_name TYPE string, lv_cancel TYPE abap_bool, - lo_repo TYPE REF TO zcl_abapgit_repo_online. + lo_repo TYPE REF TO zcl_abapgit_repo_online, + li_popups TYPE REF TO zif_abapgit_popups. lo_repo ?= zcl_abapgit_repo_srv=>get_instance( )->get( iv_key ). - zcl_abapgit_ui_factory=>get_popups( )->create_branch_popup( + li_popups = zcl_abapgit_ui_factory=>get_popups( ). + li_popups->create_branch_popup( IMPORTING ev_name = lv_name ev_cancel = lv_cancel ). @@ -221,7 +223,8 @@ CLASS ZCL_ABAPGIT_SERVICES_GIT IMPLEMENTATION. lt_unnecessary_local_objs TYPE zif_abapgit_definitions=>ty_tadir_tt, lt_selected LIKE lt_unnecessary_local_objs, lt_columns TYPE stringtab, - ls_checks TYPE zif_abapgit_definitions=>ty_delete_checks. + ls_checks TYPE zif_abapgit_definitions=>ty_delete_checks, + li_popups TYPE REF TO zif_abapgit_popups. lo_repo ?= zcl_abapgit_repo_srv=>get_instance( )->get( iv_key ). @@ -251,7 +254,8 @@ CLASS ZCL_ABAPGIT_SERVICES_GIT IMPLEMENTATION. INSERT `OBJECT` INTO TABLE lt_columns. INSERT `OBJ_NAME` INTO TABLE lt_columns. - zcl_abapgit_ui_factory=>get_popups( )->popup_to_select_from_list( + li_popups = zcl_abapgit_ui_factory=>get_popups( ). + li_popups->popup_to_select_from_list( EXPORTING it_list = lt_unnecessary_local_objs i_header_text = |Which unnecessary objects should be deleted?| diff --git a/src/ui/zcl_abapgit_services_repo.clas.abap b/src/ui/zcl_abapgit_services_repo.clas.abap index 6e909a6cc..eb507b8bf 100644 --- a/src/ui/zcl_abapgit_services_repo.clas.abap +++ b/src/ui/zcl_abapgit_services_repo.clas.abap @@ -198,7 +198,8 @@ CLASS ZCL_ABAPGIT_SERVICES_REPO IMPLEMENTATION. DATA: lt_columns TYPE stringtab, lt_selected LIKE ct_overwrite, - lv_column LIKE LINE OF lt_columns. + lv_column LIKE LINE OF lt_columns, + li_popups TYPE REF TO zif_abapgit_popups. FIELD-SYMBOLS: LIKE LINE OF ct_overwrite. @@ -212,7 +213,8 @@ CLASS ZCL_ABAPGIT_SERVICES_REPO IMPLEMENTATION. lv_column = 'OBJ_NAME'. INSERT lv_column INTO TABLE lt_columns. - zcl_abapgit_ui_factory=>get_popups( )->popup_to_select_from_list( + li_popups = zcl_abapgit_ui_factory=>get_popups( ). + li_popups->popup_to_select_from_list( EXPORTING it_list = ct_overwrite i_header_text = |The following Objects have been modified locally.| diff --git a/src/zabapgit_forms.prog.abap b/src/zabapgit_forms.prog.abap index d60b4d6e3..2d0e57569 100644 --- a/src/zabapgit_forms.prog.abap +++ b/src/zabapgit_forms.prog.abap @@ -67,10 +67,12 @@ FORM branch_popup TABLES tt_fields TYPE zif_abapgit_definitions=>ty_sval_tt RAISING zcx_abapgit_exception ##called ##needed. * called dynamically from function module POPUP_GET_VALUES_USER_BUTTONS - DATA: lx_error TYPE REF TO zcx_abapgit_exception. + DATA: lx_error TYPE REF TO zcx_abapgit_exception, + li_popups TYPE REF TO zif_abapgit_popups. TRY. - zcl_abapgit_ui_factory=>get_popups( )->branch_popup_callback( + li_popups = zcl_abapgit_ui_factory=>get_popups( ). + li_popups->branch_popup_callback( EXPORTING iv_code = pv_code CHANGING @@ -91,10 +93,12 @@ FORM package_popup TABLES tt_fields TYPE zif_abapgit_definitions=>ty_sval_tt RAISING zcx_abapgit_exception ##called ##needed. * called dynamically from function module POPUP_GET_VALUES_USER_BUTTONS - DATA: lx_error TYPE REF TO zcx_abapgit_exception. + DATA: lx_error TYPE REF TO zcx_abapgit_exception, + li_popups TYPE REF TO zif_abapgit_popups. TRY. - zcl_abapgit_ui_factory=>get_popups( )->package_popup_callback( + li_popups = zcl_abapgit_ui_factory=>get_popups( ). + li_popups->package_popup_callback( EXPORTING iv_code = pv_code CHANGING diff --git a/src/zcl_abapgit_zip.clas.abap b/src/zcl_abapgit_zip.clas.abap index 9021fc8e5..ef564a477 100644 --- a/src/zcl_abapgit_zip.clas.abap +++ b/src/zcl_abapgit_zip.clas.abap @@ -198,14 +198,16 @@ CLASS zcl_abapgit_zip IMPLEMENTATION. METHOD export_package. - DATA: lo_repo TYPE REF TO zcl_abapgit_repo_offline, - ls_data TYPE zif_abapgit_persistence=>ty_repo. + DATA: lo_repo TYPE REF TO zcl_abapgit_repo_offline, + ls_data TYPE zif_abapgit_persistence=>ty_repo, + li_popups TYPE REF TO zif_abapgit_popups. ls_data-key = 'DUMMY'. ls_data-dot_abapgit = zcl_abapgit_dot_abapgit=>build_default( )->get_data( ). - zcl_abapgit_ui_factory=>get_popups( )->popup_package_export( + li_popups = zcl_abapgit_ui_factory=>get_popups( ). + li_popups->popup_package_export( IMPORTING ev_package = ls_data-package ev_folder_logic = ls_data-dot_abapgit-folder_logic ).