refactor lcl_state to global zcl_abapgit_state

This commit is contained in:
Christian Günter 2018-01-07 08:36:01 +00:00
parent 402e00ed89
commit 17b2ec8532
5 changed files with 62 additions and 41 deletions

View File

@ -0,0 +1,32 @@
CLASS zcl_abapgit_state DEFINITION
PUBLIC
CREATE PUBLIC .
PUBLIC SECTION.
CLASS-METHODS:
reduce
IMPORTING
!iv_cur TYPE char1
CHANGING
!cv_prev TYPE char1 .
ENDCLASS.
CLASS ZCL_ABAPGIT_STATE IMPLEMENTATION.
METHOD reduce.
IF cv_prev = iv_cur OR iv_cur IS INITIAL.
RETURN. " No change
ELSEIF cv_prev IS INITIAL.
cv_prev = iv_cur.
ELSE.
cv_prev = zif_abapgit_definitions=>gc_state-mixed.
ENDIF.
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_STATE</CLSNAME>
<VERSION>1</VERSION>
<LANGU>E</LANGU>
<DESCRIPT>State</DESCRIPT>
<EXPOSURE>2</EXPOSURE>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
</VSEOCLASS>
</asx:values>
</asx:abap>
</abapGit>

View File

@ -136,10 +136,10 @@ CLASS lcl_repo_content_list IMPLEMENTATION.
ls_folder-changes = ls_folder-changes + <item>-changes.
lcl_state=>reduce( EXPORTING iv_cur = <item>-lstate
CHANGING cv_prev = ls_folder-lstate ).
lcl_state=>reduce( EXPORTING iv_cur = <item>-rstate
CHANGING cv_prev = ls_folder-rstate ).
zcl_abapgit_state=>reduce( EXPORTING iv_cur = <item>-lstate
CHANGING cv_prev = ls_folder-lstate ).
zcl_abapgit_state=>reduce( EXPORTING iv_cur = <item>-rstate
CHANGING cv_prev = ls_folder-rstate ).
AT END OF path.
APPEND ls_folder TO ct_repo_items.
@ -222,10 +222,10 @@ CLASS lcl_repo_content_list IMPLEMENTATION.
<ls_repo_item>-sortkey = c_sortkey-changed. " Changed files
<ls_repo_item>-changes = <ls_repo_item>-changes + 1.
lcl_state=>reduce( EXPORTING iv_cur = ls_file-lstate
CHANGING cv_prev = <ls_repo_item>-lstate ).
lcl_state=>reduce( EXPORTING iv_cur = ls_file-rstate
CHANGING cv_prev = <ls_repo_item>-rstate ).
zcl_abapgit_state=>reduce( EXPORTING iv_cur = ls_file-lstate
CHANGING cv_prev = <ls_repo_item>-lstate ).
zcl_abapgit_state=>reduce( EXPORTING iv_cur = ls_file-rstate
CHANGING cv_prev = <ls_repo_item>-rstate ).
ENDIF.
ENDIF.

View File

@ -2,35 +2,6 @@
*& Include ZABAPGIT_UTIL
*&---------------------------------------------------------------------*
CLASS lcl_state DEFINITION.
PUBLIC SECTION.
CLASS-METHODS:
reduce
IMPORTING
iv_cur TYPE char1
CHANGING
cv_prev TYPE char1.
ENDCLASS.
CLASS lcl_state IMPLEMENTATION.
METHOD reduce.
IF cv_prev = iv_cur OR iv_cur IS INITIAL.
RETURN. " No change
ELSEIF cv_prev IS INITIAL.
cv_prev = iv_cur.
ELSE.
cv_prev = zif_abapgit_definitions=>gc_state-mixed.
ENDIF.
ENDMETHOD.
ENDCLASS.
*----------------------------------------------------------------------*
* CLASS lcl_hash DEFINITION
*----------------------------------------------------------------------*

View File

@ -151,10 +151,10 @@ CLASS lcl_gui_view_repo IMPLEMENTATION.
iv_changes_only = mv_changes_only ).
LOOP AT lt_repo_items ASSIGNING <ls_item>.
lcl_state=>reduce( EXPORTING iv_cur = <ls_item>-lstate
CHANGING cv_prev = lv_lstate ).
lcl_state=>reduce( EXPORTING iv_cur = <ls_item>-rstate
CHANGING cv_prev = lv_rstate ).
zcl_abapgit_state=>reduce( EXPORTING iv_cur = <ls_item>-lstate
CHANGING cv_prev = lv_lstate ).
zcl_abapgit_state=>reduce( EXPORTING iv_cur = <ls_item>-rstate
CHANGING cv_prev = lv_rstate ).
ENDLOOP.
ro_html->add( render_head_line( iv_lstate = lv_lstate