From 6d630926e52fdfe47eed8cf2bdd30242af0d05dc Mon Sep 17 00:00:00 2001 From: Lars Hvam Date: Mon, 8 Jan 2018 17:44:41 +0100 Subject: [PATCH] lcl_log to global (#1105) * lcl_log to global lcl_log to global * fix indentation --- src/utils/zcl_abapgit_log.clas.abap | 123 +++++++++++++++++++++++ src/utils/zcl_abapgit_log.clas.xml | 18 ++++ src/utils/zcl_abapgit_url.clas.abap | 74 +++++++------- src/utils/zcl_abapgit_url.clas.xml | 27 +---- src/zabapgit_file_status.prog.abap | 4 +- src/zabapgit_objects.prog.abap | 2 +- src/zabapgit_repo.prog.abap | 4 +- src/zabapgit_repo_browser_util.prog.abap | 4 +- src/zabapgit_tadir.prog.abap | 6 +- src/zabapgit_unit_test.prog.abap | 2 +- src/zabapgit_util.prog.abap | 117 --------------------- src/zabapgit_view_repo.prog.abap | 2 +- src/zabapgit_zip.prog.abap | 2 +- 13 files changed, 192 insertions(+), 193 deletions(-) create mode 100644 src/utils/zcl_abapgit_log.clas.abap create mode 100644 src/utils/zcl_abapgit_log.clas.xml diff --git a/src/utils/zcl_abapgit_log.clas.abap b/src/utils/zcl_abapgit_log.clas.abap new file mode 100644 index 000000000..c14c7f5c0 --- /dev/null +++ b/src/utils/zcl_abapgit_log.clas.abap @@ -0,0 +1,123 @@ +CLASS zcl_abapgit_log DEFINITION PUBLIC CREATE PUBLIC. + + PUBLIC SECTION. + METHODS: + add + IMPORTING + iv_msg TYPE csequence + iv_type TYPE symsgty DEFAULT 'E' + iv_rc TYPE balsort OPTIONAL, + count + RETURNING VALUE(rv_count) TYPE i, + to_html + RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html, + clear, + has_rc "For unit tests mainly + IMPORTING iv_rc TYPE balsort + RETURNING VALUE(rv_yes) TYPE abap_bool, + show. + + PRIVATE SECTION. + TYPES: BEGIN OF ty_log, + msg TYPE string, + type TYPE symsgty, + rc TYPE balsort, + END OF ty_log. + + DATA: mt_log TYPE STANDARD TABLE OF ty_log WITH DEFAULT KEY. + +ENDCLASS. + + + +CLASS ZCL_ABAPGIT_LOG IMPLEMENTATION. + + + METHOD add. + + FIELD-SYMBOLS: LIKE LINE OF mt_log. + + APPEND INITIAL LINE TO mt_log ASSIGNING . + -msg = iv_msg. + -type = iv_type. + -rc = iv_rc. + + ENDMETHOD. + + + METHOD clear. + CLEAR mt_log. + ENDMETHOD. + + + METHOD count. + rv_count = lines( mt_log ). + ENDMETHOD. + + + METHOD has_rc. + READ TABLE mt_log WITH KEY rc = iv_rc TRANSPORTING NO FIELDS. + rv_yes = boolc( sy-subrc = 0 ). + ENDMETHOD. + + + METHOD show. +* only supports showing 4 errors, but I guess this is okay +* alternatively refactor to use method TO_HTML instead + + DATA: ls_log1 LIKE LINE OF mt_log, + ls_log2 LIKE LINE OF mt_log, + ls_log3 LIKE LINE OF mt_log, + ls_log4 LIKE LINE OF mt_log. + + + READ TABLE mt_log INDEX 1 INTO ls_log1. + READ TABLE mt_log INDEX 2 INTO ls_log2. + READ TABLE mt_log INDEX 3 INTO ls_log3. + READ TABLE mt_log INDEX 4 INTO ls_log4. + + CALL FUNCTION 'POPUP_TO_INFORM' + EXPORTING + titel = 'Log' + txt1 = ls_log1-msg + txt2 = ls_log2-msg + txt3 = ls_log3-msg + txt4 = ls_log4-msg. + + ENDMETHOD. + + + METHOD to_html. + + DATA: lv_class TYPE string, + lv_icon TYPE string. + + FIELD-SYMBOLS: LIKE LINE OF mt_log. + + CREATE OBJECT ro_html. + + IF count( ) = 0. + RETURN. + ENDIF. + + LOOP AT mt_log ASSIGNING . + CASE -type. + WHEN 'W'. + lv_icon = 'alert'. + lv_class = 'warning'. + WHEN 'E'. + lv_icon = 'flame'. + lv_class = 'error'. + WHEN OTHERS. " ??? unexpected + lv_icon = 'flame'. + lv_class = 'error'. + ENDCASE. + + ro_html->add( || ). + ro_html->add_icon( iv_name = lv_icon ). + ro_html->add( -msg ). + ro_html->add( '' ). + ENDLOOP. + + ENDMETHOD. +ENDCLASS. diff --git a/src/utils/zcl_abapgit_log.clas.xml b/src/utils/zcl_abapgit_log.clas.xml new file mode 100644 index 000000000..76129a42b --- /dev/null +++ b/src/utils/zcl_abapgit_log.clas.xml @@ -0,0 +1,18 @@ + + + + + + ZCL_ABAPGIT_LOG + 1 + E + Log + 2 + 1 + X + X + X + + + + diff --git a/src/utils/zcl_abapgit_url.clas.abap b/src/utils/zcl_abapgit_url.clas.abap index 124801368..9aec3beff 100644 --- a/src/utils/zcl_abapgit_url.clas.abap +++ b/src/utils/zcl_abapgit_url.clas.abap @@ -5,46 +5,44 @@ CLASS zcl_abapgit_url DEFINITION 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 . - + CLASS-METHODS host + IMPORTING + !iv_repo TYPE string + RETURNING + VALUE(rv_host) TYPE string + RAISING + zcx_abapgit_exception . + CLASS-METHODS name + IMPORTING + !iv_repo TYPE string + RETURNING + VALUE(rv_name) TYPE string + RAISING + zcx_abapgit_exception . + CLASS-METHODS 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 . + 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. + + +CLASS ZCL_ABAPGIT_URL IMPLEMENTATION. + METHOD host. @@ -53,6 +51,7 @@ CLASS zcl_abapgit_url IMPLEMENTATION. ENDMETHOD. + METHOD name. regex( EXPORTING iv_repo = iv_repo @@ -60,6 +59,7 @@ CLASS zcl_abapgit_url IMPLEMENTATION. ENDMETHOD. + METHOD path_name. DATA: lv_host TYPE string ##NEEDED. @@ -69,6 +69,7 @@ CLASS zcl_abapgit_url IMPLEMENTATION. ENDMETHOD. + METHOD regex. FIND REGEX '(.*://[^/]*)(.*/)([^\.]*)[\.git]?' IN iv_repo @@ -78,5 +79,4 @@ CLASS zcl_abapgit_url IMPLEMENTATION. ENDIF. ENDMETHOD. - ENDCLASS. diff --git a/src/utils/zcl_abapgit_url.clas.xml b/src/utils/zcl_abapgit_url.clas.xml index 34b21db84..af3b50b09 100644 --- a/src/utils/zcl_abapgit_url.clas.xml +++ b/src/utils/zcl_abapgit_url.clas.xml @@ -6,6 +6,7 @@ ZCL_ABAPGIT_URL 1 E + URL 2 1 X @@ -13,32 +14,6 @@ X X - - - ZCL_ABAPGIT_URL - HOST - E - HOST - - - ZCL_ABAPGIT_URL - NAME - E - NAME - - - ZCL_ABAPGIT_URL - PATH_NAME - E - PATH_NAME - - - ZCL_ABAPGIT_URL - REGEX - E - REGEX - - diff --git a/src/zabapgit_file_status.prog.abap b/src/zabapgit_file_status.prog.abap index 20fd1a074..3b2ce0b20 100644 --- a/src/zabapgit_file_status.prog.abap +++ b/src/zabapgit_file_status.prog.abap @@ -15,7 +15,7 @@ CLASS lcl_file_status DEFINITION FINAL CLASS-METHODS status IMPORTING io_repo TYPE REF TO lcl_repo - io_log TYPE REF TO lcl_log OPTIONAL + io_log TYPE REF TO zcl_abapgit_log OPTIONAL RETURNING VALUE(rt_results) TYPE zif_abapgit_definitions=>ty_results_tt RAISING zcx_abapgit_exception. @@ -31,7 +31,7 @@ CLASS lcl_file_status DEFINITION FINAL RETURNING VALUE(rt_results) TYPE zif_abapgit_definitions=>ty_results_tt RAISING zcx_abapgit_exception, run_checks - IMPORTING io_log TYPE REF TO lcl_log + IMPORTING io_log TYPE REF TO zcl_abapgit_log it_results TYPE zif_abapgit_definitions=>ty_results_tt io_dot TYPE REF TO zcl_abapgit_dot_abapgit iv_top TYPE devclass diff --git a/src/zabapgit_objects.prog.abap b/src/zabapgit_objects.prog.abap index 20ae7e514..bd8739f79 100644 --- a/src/zabapgit_objects.prog.abap +++ b/src/zabapgit_objects.prog.abap @@ -2285,7 +2285,7 @@ CLASS lcl_objects DEFINITION FINAL. CLASS-METHODS serialize IMPORTING is_item TYPE zif_abapgit_definitions=>ty_item iv_language TYPE spras - io_log TYPE REF TO lcl_log OPTIONAL + io_log TYPE REF TO zcl_abapgit_log OPTIONAL RETURNING VALUE(rt_files) TYPE zif_abapgit_definitions=>ty_files_tt RAISING zcx_abapgit_exception. diff --git a/src/zabapgit_repo.prog.abap b/src/zabapgit_repo.prog.abap index f43f27795..736c193bd 100644 --- a/src/zabapgit_repo.prog.abap +++ b/src/zabapgit_repo.prog.abap @@ -17,7 +17,7 @@ CLASS lcl_repo DEFINITION ABSTRACT FRIENDS lcl_repo_srv. RETURNING VALUE(rv_name) TYPE string RAISING zcx_abapgit_exception, get_files_local - IMPORTING io_log TYPE REF TO lcl_log OPTIONAL + IMPORTING io_log TYPE REF TO zcl_abapgit_log OPTIONAL it_filter TYPE scts_tadir OPTIONAL RETURNING VALUE(rt_files) TYPE zif_abapgit_definitions=>ty_files_item_tt RAISING zcx_abapgit_exception, @@ -125,7 +125,7 @@ CLASS lcl_repo_online DEFINITION INHERITING FROM lcl_repo FINAL. RAISING zcx_abapgit_exception, deserialize REDEFINITION, status - IMPORTING io_log TYPE REF TO lcl_log OPTIONAL + IMPORTING io_log TYPE REF TO zcl_abapgit_log OPTIONAL RETURNING VALUE(rt_results) TYPE zif_abapgit_definitions=>ty_results_tt RAISING zcx_abapgit_exception, reset_status, diff --git a/src/zabapgit_repo_browser_util.prog.abap b/src/zabapgit_repo_browser_util.prog.abap index 3986ec7c1..9e8303c00 100644 --- a/src/zabapgit_repo_browser_util.prog.abap +++ b/src/zabapgit_repo_browser_util.prog.abap @@ -38,11 +38,11 @@ CLASS lcl_repo_content_list DEFINITION FINAL. RAISING zcx_abapgit_exception. METHODS get_log - RETURNING VALUE(ro_log) TYPE REF TO lcl_log. + RETURNING VALUE(ro_log) TYPE REF TO zcl_abapgit_log. PRIVATE SECTION. DATA: mo_repo TYPE REF TO lcl_repo, - mo_log TYPE REF TO lcl_log. + mo_log TYPE REF TO zcl_abapgit_log. METHODS build_repo_items_offline RETURNING VALUE(rt_repo_items) TYPE tt_repo_items diff --git a/src/zabapgit_tadir.prog.abap b/src/zabapgit_tadir.prog.abap index d353dcdb7..0e0a56b90 100644 --- a/src/zabapgit_tadir.prog.abap +++ b/src/zabapgit_tadir.prog.abap @@ -13,7 +13,7 @@ CLASS lcl_skip_objects DEFINITION. skip_sadl_generated_objects IMPORTING it_tadir TYPE zif_abapgit_definitions=>ty_tadir_tt - io_log TYPE REF TO lcl_log OPTIONAL + io_log TYPE REF TO zcl_abapgit_log OPTIONAL RETURNING VALUE(rt_tadir) TYPE zif_abapgit_definitions=>ty_tadir_tt. PRIVATE SECTION. @@ -33,7 +33,7 @@ CLASS lcl_tadir DEFINITION FINAL. IMPORTING iv_package TYPE tadir-devclass iv_ignore_subpackages TYPE abap_bool DEFAULT abap_false io_dot TYPE REF TO zcl_abapgit_dot_abapgit OPTIONAL - io_log TYPE REF TO lcl_log OPTIONAL + io_log TYPE REF TO zcl_abapgit_log OPTIONAL RETURNING VALUE(rt_tadir) TYPE zif_abapgit_definitions=>ty_tadir_tt RAISING zcx_abapgit_exception, read_single @@ -69,7 +69,7 @@ CLASS lcl_tadir DEFINITION FINAL. iv_top TYPE tadir-devclass io_dot TYPE REF TO zcl_abapgit_dot_abapgit iv_ignore_subpackages TYPE abap_bool DEFAULT abap_false - io_log TYPE REF TO lcl_log OPTIONAL + io_log TYPE REF TO zcl_abapgit_log OPTIONAL RETURNING VALUE(rt_tadir) TYPE zif_abapgit_definitions=>ty_tadir_tt RAISING zcx_abapgit_exception. diff --git a/src/zabapgit_unit_test.prog.abap b/src/zabapgit_unit_test.prog.abap index 61946014b..d592a3219 100644 --- a/src/zabapgit_unit_test.prog.abap +++ b/src/zabapgit_unit_test.prog.abap @@ -1572,7 +1572,7 @@ CLASS ltcl_file_status2 IMPLEMENTATION. METHOD check. DATA: lt_results TYPE zif_abapgit_definitions=>ty_results_tt, - lo_log TYPE REF TO lcl_log. + lo_log TYPE REF TO zcl_abapgit_log. FIELD-SYMBOLS: LIKE LINE OF lt_results. diff --git a/src/zabapgit_util.prog.abap b/src/zabapgit_util.prog.abap index 887403301..35bc1ebac 100644 --- a/src/zabapgit_util.prog.abap +++ b/src/zabapgit_util.prog.abap @@ -172,120 +172,3 @@ CLASS lcl_progress IMPLEMENTATION. ENDMETHOD. ENDCLASS. - -CLASS lcl_log DEFINITION FINAL. - - PUBLIC SECTION. - METHODS: - add - IMPORTING - iv_msg TYPE csequence - iv_type TYPE symsgty DEFAULT 'E' - iv_rc TYPE balsort OPTIONAL, - count - RETURNING VALUE(rv_count) TYPE i, - to_html - RETURNING VALUE(ro_html) TYPE REF TO zcl_abapgit_html, - clear, - has_rc "For unit tests mainly - IMPORTING iv_rc TYPE balsort - RETURNING VALUE(rv_yes) TYPE abap_bool, - show. - - PRIVATE SECTION. - TYPES: BEGIN OF ty_log, - msg TYPE string, - type TYPE symsgty, - rc TYPE balsort, - END OF ty_log. - - DATA: mt_log TYPE STANDARD TABLE OF ty_log WITH DEFAULT KEY. - -ENDCLASS. - -CLASS lcl_log IMPLEMENTATION. - - METHOD to_html. - - DATA: lv_class TYPE string, - lv_icon TYPE string. - - FIELD-SYMBOLS: LIKE LINE OF mt_log. - - CREATE OBJECT ro_html. - - IF count( ) = 0. - RETURN. - ENDIF. - - LOOP AT mt_log ASSIGNING . - CASE -type. - WHEN 'W'. - lv_icon = 'alert'. - lv_class = 'warning'. - WHEN 'E'. - lv_icon = 'flame'. - lv_class = 'error'. - WHEN OTHERS. " ??? unexpected - lv_icon = 'flame'. - lv_class = 'error'. - ENDCASE. - - ro_html->add( || ). - ro_html->add_icon( iv_name = lv_icon ). - ro_html->add( -msg ). - ro_html->add( '' ). - ENDLOOP. - - ENDMETHOD. - - METHOD add. - - FIELD-SYMBOLS: LIKE LINE OF mt_log. - - APPEND INITIAL LINE TO mt_log ASSIGNING . - -msg = iv_msg. - -type = iv_type. - -rc = iv_rc. - - ENDMETHOD. - - METHOD show. -* only supports showing 4 errors, but I guess this is okay -* alternatively refactor to use method TO_HTML instead - - DATA: ls_log1 LIKE LINE OF mt_log, - ls_log2 LIKE LINE OF mt_log, - ls_log3 LIKE LINE OF mt_log, - ls_log4 LIKE LINE OF mt_log. - - - READ TABLE mt_log INDEX 1 INTO ls_log1. - READ TABLE mt_log INDEX 2 INTO ls_log2. - READ TABLE mt_log INDEX 3 INTO ls_log3. - READ TABLE mt_log INDEX 4 INTO ls_log4. - - CALL FUNCTION 'POPUP_TO_INFORM' - EXPORTING - titel = 'Log' - txt1 = ls_log1-msg - txt2 = ls_log2-msg - txt3 = ls_log3-msg - txt4 = ls_log4-msg. - - ENDMETHOD. - - METHOD count. - rv_count = lines( mt_log ). - ENDMETHOD. - - METHOD clear. - CLEAR mt_log. - ENDMETHOD. " clear. - - METHOD has_rc. - READ TABLE mt_log WITH KEY rc = iv_rc TRANSPORTING NO FIELDS. - rv_yes = boolc( sy-subrc = 0 ). - ENDMETHOD. "has_rc - -ENDCLASS. diff --git a/src/zabapgit_view_repo.prog.abap b/src/zabapgit_view_repo.prog.abap index e9ba46a36..f0fa5aed9 100644 --- a/src/zabapgit_view_repo.prog.abap +++ b/src/zabapgit_view_repo.prog.abap @@ -131,7 +131,7 @@ CLASS lcl_gui_view_repo IMPLEMENTATION. lv_max TYPE abap_bool, lv_max_str TYPE string, lv_add_str TYPE string, - lo_log TYPE REF TO lcl_log. + lo_log TYPE REF TO zcl_abapgit_log. FIELD-SYMBOLS LIKE LINE OF lt_repo_items. diff --git a/src/zabapgit_zip.prog.abap b/src/zabapgit_zip.prog.abap index 53379f853..933a010a3 100644 --- a/src/zabapgit_zip.prog.abap +++ b/src/zabapgit_zip.prog.abap @@ -353,7 +353,7 @@ CLASS lcl_zip IMPLEMENTATION. METHOD export. - DATA: lo_log TYPE REF TO lcl_log, + DATA: lo_log TYPE REF TO zcl_abapgit_log, lt_zip TYPE zif_abapgit_definitions=>ty_files_item_tt.