lcl_log to global (#1105)

* lcl_log to global

lcl_log to global

* fix indentation
This commit is contained in:
Lars Hvam 2018-01-08 17:44:41 +01:00 committed by GitHub
parent 5b49caf89e
commit 6d630926e5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 192 additions and 193 deletions

View File

@ -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: <ls_log> LIKE LINE OF mt_log.
APPEND INITIAL LINE TO mt_log ASSIGNING <ls_log>.
<ls_log>-msg = iv_msg.
<ls_log>-type = iv_type.
<ls_log>-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: <ls_log> LIKE LINE OF mt_log.
CREATE OBJECT ro_html.
IF count( ) = 0.
RETURN.
ENDIF.
LOOP AT mt_log ASSIGNING <ls_log>.
CASE <ls_log>-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( |<span class="{ lv_class }">| ).
ro_html->add_icon( iv_name = lv_icon ).
ro_html->add( <ls_log>-msg ).
ro_html->add( '</span>' ).
ENDLOOP.
ENDMETHOD.
ENDCLASS.

View File

@ -0,0 +1,18 @@
<?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_LOG</CLSNAME>
<VERSION>1</VERSION>
<LANGU>E</LANGU>
<DESCRIPT>Log</DESCRIPT>
<EXPOSURE>2</EXPOSURE>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
</VSEOCLASS>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -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.

View File

@ -6,6 +6,7 @@
<CLSNAME>ZCL_ABAPGIT_URL</CLSNAME>
<VERSION>1</VERSION>
<LANGU>E</LANGU>
<DESCRIPT>URL</DESCRIPT>
<EXPOSURE>2</EXPOSURE>
<STATE>1</STATE>
<CLSFINAL>X</CLSFINAL>
@ -13,32 +14,6 @@
<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>

View File

@ -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

View File

@ -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.

View File

@ -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,

View File

@ -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

View File

@ -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.

View File

@ -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: <result> LIKE LINE OF lt_results.

View File

@ -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: <ls_log> LIKE LINE OF mt_log.
CREATE OBJECT ro_html.
IF count( ) = 0.
RETURN.
ENDIF.
LOOP AT mt_log ASSIGNING <ls_log>.
CASE <ls_log>-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( |<span class="{ lv_class }">| ).
ro_html->add_icon( iv_name = lv_icon ).
ro_html->add( <ls_log>-msg ).
ro_html->add( '</span>' ).
ENDLOOP.
ENDMETHOD.
METHOD add.
FIELD-SYMBOLS: <ls_log> LIKE LINE OF mt_log.
APPEND INITIAL LINE TO mt_log ASSIGNING <ls_log>.
<ls_log>-msg = iv_msg.
<ls_log>-type = iv_type.
<ls_log>-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.

View File

@ -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 <ls_item> LIKE LINE OF lt_repo_items.

View File

@ -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.