diff --git a/src/zabapgit_object_prag.prog.abap b/src/zabapgit_object_prag.prog.abap index ff42f2701..e79b062ef 100644 --- a/src/zabapgit_object_prag.prog.abap +++ b/src/zabapgit_object_prag.prog.abap @@ -15,81 +15,35 @@ CLASS lcl_object_prag DEFINITION INHERITING FROM lcl_objects_super FINAL. description TYPE c LENGTH 255, END OF ty_pragma. + METHODS: + _raise_pragma_not_exists + RAISING + lcx_exception, + + _raise_pragma_exists + RAISING + lcx_exception, + + _raise_pragma_enqueue + RAISING + lcx_exception. + ENDCLASS. CLASS lcl_object_prag IMPLEMENTATION. + METHOD lif_object~has_changed_since. + + rv_changed = abap_true. + + ENDMETHOD. + METHOD lif_object~changed_by. rv_user = sy-uname. ENDMETHOD. - METHOD lif_object~compare_to_remote_version. - - CREATE OBJECT ro_comparison_result TYPE lcl_comparison_null. - - ENDMETHOD. - - METHOD lif_object~delete. - - TRY. - DATA(lo_pragma) = cl_abap_pragma=>get_ref( ms_item-obj_name ). - - lo_pragma->delete( ). - - CATCH cx_abap_pragma_not_exists - cx_abap_pragma_enqueue. - - lcx_exception=>raise( 'PRAG error' ). - - ENDTRY. - - ENDMETHOD. - - METHOD lif_object~deserialize. - - DATA: pragma TYPE ty_pragma. - - TRY. - io_xml->read( - EXPORTING - iv_name = 'PRAG' - CHANGING - cg_data = pragma ). - - DATA(lo_pragma) = cl_abap_pragma=>create( p_pragma = ms_item-obj_name - p_package = iv_package ). - - lo_pragma->set_info( p_description = pragma-description - p_signature = pragma-signature - p_extension = pragma-extension ). - - lo_pragma->save( ). - - CATCH cx_abap_pragma_not_exists - cx_abap_pragma_exists - cx_abap_pragma_enqueue. - - lcx_exception=>raise( 'PRAG error' ). - - ENDTRY. - - ENDMETHOD. - - METHOD lif_object~exists. - - TRY. - cl_abap_pragma=>get_ref( ms_item-obj_name ). - CATCH cx_abap_pragma_not_exists. - rv_bool = abap_false. - RETURN. - ENDTRY. - - rv_bool = abap_true. - - ENDMETHOD. - METHOD lif_object~get_metadata. rs_metadata = get_metadata( ). @@ -97,9 +51,87 @@ CLASS lcl_object_prag IMPLEMENTATION. ENDMETHOD. - METHOD lif_object~has_changed_since. + METHOD lif_object~exists. - rv_changed = abap_true. + TRY. + cl_abap_pragma=>get_ref( ms_item-obj_name ). + + CATCH cx_abap_pragma_not_exists. + rv_bool = abap_false. + RETURN. + ENDTRY. + + rv_bool = abap_true. + + ENDMETHOD. + + METHOD lif_object~serialize. + + DATA: lo_pragma TYPE REF TO cl_abap_pragma, + pragma TYPE lcl_object_prag=>ty_pragma. + + TRY. + lo_pragma = cl_abap_pragma=>get_ref( ms_item-obj_name ). + + pragma-pragma = lo_pragma->pragma. + pragma-extension = lo_pragma->extension. + pragma-signature = lo_pragma->signature. + pragma-description = lo_pragma->description. + + io_xml->add( iv_name = 'PRAG' + ig_data = pragma ). + + CATCH cx_abap_pragma_not_exists. + _raise_pragma_not_exists( ). + ENDTRY. + + ENDMETHOD. + + METHOD lif_object~deserialize. + + DATA: pragma TYPE ty_pragma, + lo_pragma TYPE REF TO cl_abap_pragma. + + TRY. + io_xml->read( + EXPORTING + iv_name = 'PRAG' + CHANGING + cg_data = pragma ). + + lo_pragma = cl_abap_pragma=>create( p_pragma = ms_item-obj_name + p_package = iv_package ). + + lo_pragma->set_info( p_description = pragma-description + p_signature = pragma-signature + p_extension = pragma-extension ). + + lo_pragma->save( ). + + CATCH cx_abap_pragma_not_exists. + _raise_pragma_not_exists( ). + CATCH cx_abap_pragma_exists. + _raise_pragma_exists( ). + CATCH cx_abap_pragma_enqueue. + _raise_pragma_enqueue( ). + ENDTRY. + + ENDMETHOD. + + METHOD lif_object~delete. + + DATA: lo_pragma TYPE REF TO cl_abap_pragma. + + TRY. + lo_pragma = cl_abap_pragma=>get_ref( ms_item-obj_name ). + + lo_pragma->delete( ). + + CATCH cx_abap_pragma_not_exists. + _raise_pragma_not_exists( ). + CATCH cx_abap_pragma_enqueue. + _raise_pragma_enqueue( ). + ENDTRY. ENDMETHOD. @@ -117,24 +149,27 @@ CLASS lcl_object_prag IMPLEMENTATION. ENDMETHOD. - METHOD lif_object~serialize. + METHOD lif_object~compare_to_remote_version. - TRY. - DATA(lo_pragma) = cl_abap_pragma=>get_ref( ms_item-obj_name ). + CREATE OBJECT ro_comparison_result TYPE lcl_comparison_null. - DATA(pragma) = VALUE ty_pragma( pragma = lo_pragma->pragma - extension = lo_pragma->extension - signature = lo_pragma->signature - description = lo_pragma->description ). + ENDMETHOD. - io_xml->add( - EXPORTING - iv_name = 'PRAG' - ig_data = pragma ). + METHOD _raise_pragma_enqueue. - CATCH cx_abap_pragma_not_exists. - RETURN. - ENDTRY. + lcx_exception=>raise( |Pragma { ms_item-obj_name } enqueue error| ). + + ENDMETHOD. + + METHOD _raise_pragma_exists. + + lcx_exception=>raise( |Pragma { ms_item-obj_name } exists| ). + + ENDMETHOD. + + METHOD _raise_pragma_not_exists. + + lcx_exception=>raise( |Pragma { ms_item-obj_name } doesn't exist| ). ENDMETHOD.