From ea1345d5e8b547a226adf3eefdf406c244cd957d Mon Sep 17 00:00:00 2001 From: Christian Guenter Date: Mon, 24 Jul 2017 20:08:11 +0000 Subject: [PATCH] refactoring SAPC --- src/zabapgit_object_sapc.prog.abap | 89 ++++++++++-------------------- 1 file changed, 28 insertions(+), 61 deletions(-) diff --git a/src/zabapgit_object_sapc.prog.abap b/src/zabapgit_object_sapc.prog.abap index b30a96586..47a1bbb88 100644 --- a/src/zabapgit_object_sapc.prog.abap +++ b/src/zabapgit_object_sapc.prog.abap @@ -7,20 +7,13 @@ CLASS lcl_object_sapc DEFINITION INHERITING FROM lcl_objects_super FINAL. PUBLIC SECTION. INTERFACES lif_object. + PRIVATE SECTION. DATA: mo_persistence TYPE REF TO if_wb_object_persist, mo_apc_appl_obj_data TYPE REF TO if_wb_object_data_model. METHODS: - get_data_object - RETURNING - value(ro_apc_appl_obj_data) TYPE REF TO if_wb_object_data_model - RAISING - lcx_exception, - - get_persistence - RETURNING - value(ro_persistence) TYPE REF TO if_wb_object_persist + create_apc_objects RAISING lcx_exception, @@ -58,6 +51,8 @@ CLASS lcl_object_sapc IMPLEMENTATION. TYPE any, TYPE any. + create_apc_objects( ). + TRY. CREATE DATA lr_data TYPE ('APC_APPLICATION_COMPLETE'). ASSIGN lr_data->* TO . @@ -95,13 +90,6 @@ CLASS lcl_object_sapc IMPLEMENTATION. RETURN. ENDIF. - TRY. - get_data_object( ). - - CATCH lcx_exception. - RETURN. - ENDTRY. - rv_bool = abap_true. ENDMETHOD. "lif_object~exists @@ -114,6 +102,8 @@ CLASS lcl_object_sapc IMPLEMENTATION. TYPE any, TYPE any. + create_apc_objects( ). + TRY. CREATE DATA lr_data TYPE ('APC_APPLICATION_COMPLETE'). ASSIGN lr_data->* TO . @@ -168,11 +158,12 @@ CLASS lcl_object_sapc IMPLEMENTATION. METHOD lif_object~deserialize. - DATA: appl_obj_data TYPE REF TO if_wb_object_data_model, - lr_data TYPE REF TO data. + DATA: lr_data TYPE REF TO data. FIELD-SYMBOLS: TYPE any. + create_apc_objects( ). + TRY. CREATE DATA lr_data TYPE ('APC_APPLICATION_COMPLETE'). ASSIGN lr_data->* TO . @@ -191,8 +182,6 @@ CLASS lcl_object_sapc IMPLEMENTATION. lif_object~delete( ). ENDIF. - appl_obj_data = get_data_object( ). - TRY. lock( ). @@ -214,9 +203,9 @@ CLASS lcl_object_sapc IMPLEMENTATION. lcx_exception=>raise( 'Error occured while creating SAPC' ). ENDIF. - appl_obj_data->set_data( ). + mo_apc_appl_obj_data->set_data( ). - get_persistence( )->save( p_object_data = appl_obj_data ). + mo_persistence->save( p_object_data = mo_apc_appl_obj_data ). unlock( ). @@ -230,12 +219,14 @@ CLASS lcl_object_sapc IMPLEMENTATION. DATA: object_key TYPE seu_objkey. + create_apc_objects( ). + object_key = ms_item-obj_name. TRY. lock( ). - get_persistence( )->delete( p_object_key = object_key ). + mo_persistence->delete( p_object_key = object_key ). unlock( ). @@ -259,41 +250,22 @@ CLASS lcl_object_sapc IMPLEMENTATION. CREATE OBJECT ro_comparison_result TYPE lcl_comparison_null. ENDMETHOD. "lif_object~compare_to_remote_version - METHOD get_data_object. + METHOD create_apc_objects. - IF mo_apc_appl_obj_data IS NOT BOUND. - - TRY. + TRY. + IF mo_apc_appl_obj_data IS NOT BOUND. CREATE OBJECT mo_apc_appl_obj_data TYPE ('CL_APC_APPLICATION_OBJ_DATA'). + ENDIF. - CATCH cx_root. - lcx_exception=>raise( 'SAPC not supported' ). - ENDTRY. - - ENDIF. - - ro_apc_appl_obj_data = mo_apc_appl_obj_data. - - ENDMETHOD. "get_data_object - - - METHOD get_persistence. - - IF mo_persistence IS NOT BOUND. - - TRY. + IF mo_persistence IS NOT BOUND. CREATE OBJECT mo_persistence TYPE ('CL_APC_APPLICATION_OBJ_PERS'). + ENDIF. - CATCH cx_root. - lcx_exception=>raise( 'SAPC not supported' ). - ENDTRY. - - ENDIF. - - ro_persistence = mo_persistence. - - ENDMETHOD. "get_persistence + CATCH cx_root. + lcx_exception=>raise( 'SAPC not supported' ). + ENDTRY. + ENDMETHOD. METHOD lock. @@ -305,8 +277,6 @@ CLASS lcl_object_sapc IMPLEMENTATION. object_key = ms_item-obj_name. objtype = ms_item-obj_type. - get_persistence( ). - mo_persistence->lock( EXPORTING p_objname_tr = objname @@ -333,21 +303,19 @@ CLASS lcl_object_sapc IMPLEMENTATION. object_key = ms_item-obj_name. objtype = ms_item-obj_type. - get_persistence( )->unlock( p_objname_tr = objname - p_object_key = object_key - p_objtype_tr = objtype ). + mo_persistence->unlock( p_objname_tr = objname + p_object_key = object_key + p_objtype_tr = objtype ). ENDMETHOD. "unlock METHOD get_data. - DATA: object_key TYPE seu_objkey. + DATA: object_key TYPE seu_objkey. object_key = ms_item-obj_name. TRY. - get_persistence( ). - mo_persistence->get( EXPORTING p_object_key = object_key @@ -365,5 +333,4 @@ CLASS lcl_object_sapc IMPLEMENTATION. ENDMETHOD. "get_data - ENDCLASS. "lcl_object_sAPC IMPLEMENTATION