From 17b2ec8532983be2a32aa4a6df1982de60b46279 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20G=C3=BCnter?= Date: Sun, 7 Jan 2018 08:36:01 +0000 Subject: [PATCH] refactor lcl_state to global zcl_abapgit_state --- src/utils/zcl_abapgit_state.clas.abap | 32 ++++++++++++++++++++++++ src/utils/zcl_abapgit_state.clas.xml | 18 +++++++++++++ src/zabapgit_repo_browser_util.prog.abap | 16 ++++++------ src/zabapgit_util.prog.abap | 29 --------------------- src/zabapgit_view_repo.prog.abap | 8 +++--- 5 files changed, 62 insertions(+), 41 deletions(-) create mode 100644 src/utils/zcl_abapgit_state.clas.abap create mode 100644 src/utils/zcl_abapgit_state.clas.xml diff --git a/src/utils/zcl_abapgit_state.clas.abap b/src/utils/zcl_abapgit_state.clas.abap new file mode 100644 index 000000000..5c71a389e --- /dev/null +++ b/src/utils/zcl_abapgit_state.clas.abap @@ -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. diff --git a/src/utils/zcl_abapgit_state.clas.xml b/src/utils/zcl_abapgit_state.clas.xml new file mode 100644 index 000000000..18494d1d9 --- /dev/null +++ b/src/utils/zcl_abapgit_state.clas.xml @@ -0,0 +1,18 @@ + + + + + + ZCL_ABAPGIT_STATE + 1 + E + State + 2 + 1 + X + X + X + + + + diff --git a/src/zabapgit_repo_browser_util.prog.abap b/src/zabapgit_repo_browser_util.prog.abap index ac2638932..e69db25ca 100644 --- a/src/zabapgit_repo_browser_util.prog.abap +++ b/src/zabapgit_repo_browser_util.prog.abap @@ -136,10 +136,10 @@ CLASS lcl_repo_content_list IMPLEMENTATION. ls_folder-changes = ls_folder-changes + -changes. - lcl_state=>reduce( EXPORTING iv_cur = -lstate - CHANGING cv_prev = ls_folder-lstate ). - lcl_state=>reduce( EXPORTING iv_cur = -rstate - CHANGING cv_prev = ls_folder-rstate ). + zcl_abapgit_state=>reduce( EXPORTING iv_cur = -lstate + CHANGING cv_prev = ls_folder-lstate ). + zcl_abapgit_state=>reduce( EXPORTING iv_cur = -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. -sortkey = c_sortkey-changed. " Changed files -changes = -changes + 1. - lcl_state=>reduce( EXPORTING iv_cur = ls_file-lstate - CHANGING cv_prev = -lstate ). - lcl_state=>reduce( EXPORTING iv_cur = ls_file-rstate - CHANGING cv_prev = -rstate ). + zcl_abapgit_state=>reduce( EXPORTING iv_cur = ls_file-lstate + CHANGING cv_prev = -lstate ). + zcl_abapgit_state=>reduce( EXPORTING iv_cur = ls_file-rstate + CHANGING cv_prev = -rstate ). ENDIF. ENDIF. diff --git a/src/zabapgit_util.prog.abap b/src/zabapgit_util.prog.abap index 45c132d71..00e69eea5 100644 --- a/src/zabapgit_util.prog.abap +++ b/src/zabapgit_util.prog.abap @@ -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 *----------------------------------------------------------------------* diff --git a/src/zabapgit_view_repo.prog.abap b/src/zabapgit_view_repo.prog.abap index b60edd1f9..573a1024b 100644 --- a/src/zabapgit_view_repo.prog.abap +++ b/src/zabapgit_view_repo.prog.abap @@ -151,10 +151,10 @@ CLASS lcl_gui_view_repo IMPLEMENTATION. iv_changes_only = mv_changes_only ). LOOP AT lt_repo_items ASSIGNING . - lcl_state=>reduce( EXPORTING iv_cur = -lstate - CHANGING cv_prev = lv_lstate ). - lcl_state=>reduce( EXPORTING iv_cur = -rstate - CHANGING cv_prev = lv_rstate ). + zcl_abapgit_state=>reduce( EXPORTING iv_cur = -lstate + CHANGING cv_prev = lv_lstate ). + zcl_abapgit_state=>reduce( EXPORTING iv_cur = -rstate + CHANGING cv_prev = lv_rstate ). ENDLOOP. ro_html->add( render_head_line( iv_lstate = lv_lstate