mirror of
https://github.com/abapGit/abapGit.git
synced 2025-04-30 20:03:20 +08:00
Enable object handler for Event Consumption Model (EEEC) (#6348)
Co-authored-by: Dr. Jonas Braun <jonas.braun01@sap.com> Co-authored-by: Raphael Dibbern <raphael.dibbern@sap.com> Co-authored-by: abaplint[bot] <24845621+abaplint[bot]@users.noreply.github.com>
This commit is contained in:
parent
b10276ffa5
commit
426edc3721
|
@ -53,6 +53,7 @@ CLASS zcl_abapgit_aff_registry IMPLEMENTATION.
|
|||
register( iv_obj_type = 'CHKO' ).
|
||||
register( iv_obj_type = 'CHKV' ).
|
||||
register( iv_obj_type = 'EVTB' ).
|
||||
register( iv_obj_type = 'EEEC' ).
|
||||
register( iv_obj_type = 'GSMP' ).
|
||||
register( iv_obj_type = 'INTF'
|
||||
iv_experimental = abap_true ).
|
||||
|
|
|
@ -17,6 +17,11 @@ CLASS zcl_abapgit_object_common_aff DEFINITION
|
|||
|
||||
METHODS get_additional_extensions
|
||||
RETURNING VALUE(rv_additional_extensions) TYPE ty_extension_mapper_pairs.
|
||||
METHODS get_object_handler
|
||||
RETURNING
|
||||
VALUE(ro_object_handler) TYPE REF TO object
|
||||
RAISING
|
||||
zcx_abapgit_exception.
|
||||
|
||||
PRIVATE SECTION.
|
||||
METHODS is_file_empty
|
||||
|
@ -48,16 +53,15 @@ CLASS zcl_abapgit_object_common_aff IMPLEMENTATION.
|
|||
|
||||
METHOD zif_abapgit_object~delete.
|
||||
|
||||
DATA: lr_intf_aff_obj TYPE REF TO data,
|
||||
lr_intf_aff_log TYPE REF TO data,
|
||||
lr_messages TYPE REF TO data,
|
||||
lo_handler_factory TYPE REF TO object,
|
||||
lo_object_handler TYPE REF TO object,
|
||||
lo_object_aff TYPE REF TO object,
|
||||
lo_aff_factory TYPE REF TO object,
|
||||
lv_name TYPE c LENGTH 120,
|
||||
lx_error TYPE REF TO cx_root,
|
||||
lo_aff_log TYPE REF TO object.
|
||||
DATA: lr_intf_aff_obj TYPE REF TO data,
|
||||
lr_intf_aff_log TYPE REF TO data,
|
||||
lr_messages TYPE REF TO data,
|
||||
lo_object_handler TYPE REF TO object,
|
||||
lo_object_aff TYPE REF TO object,
|
||||
lo_aff_factory TYPE REF TO object,
|
||||
lv_name TYPE c LENGTH 120,
|
||||
lx_error TYPE REF TO cx_root,
|
||||
lo_aff_log TYPE REF TO object.
|
||||
|
||||
FIELD-SYMBOLS: <ls_intf_aff_obj> TYPE any,
|
||||
<ls_intf_aff_log> TYPE any,
|
||||
|
@ -68,12 +72,7 @@ CLASS zcl_abapgit_object_common_aff IMPLEMENTATION.
|
|||
lv_name = ms_item-obj_name.
|
||||
|
||||
TRY.
|
||||
CREATE OBJECT lo_handler_factory TYPE ('CL_AFF_OBJECT_HANDLER_FACTORY').
|
||||
CALL METHOD lo_handler_factory->('IF_AFF_OBJECT_HANDLER_FACTORY~GET_OBJECT_HANDLER')
|
||||
EXPORTING
|
||||
object_type = ms_item-obj_type
|
||||
RECEIVING
|
||||
result = lo_object_handler.
|
||||
lo_object_handler = get_object_handler( ).
|
||||
|
||||
CREATE OBJECT lo_object_aff TYPE ('CL_AFF_OBJ')
|
||||
EXPORTING
|
||||
|
@ -146,7 +145,6 @@ CLASS zcl_abapgit_object_common_aff IMPLEMENTATION.
|
|||
lr_intf_files_container TYPE REF TO data,
|
||||
lr_intf_aff_log TYPE REF TO data,
|
||||
lr_intf_aff_settings TYPE REF TO data,
|
||||
lo_handler_factory TYPE REF TO object,
|
||||
lo_object_handler TYPE REF TO object,
|
||||
lo_object_aff TYPE REF TO object,
|
||||
lo_object_json_file TYPE REF TO object,
|
||||
|
@ -181,13 +179,7 @@ CLASS zcl_abapgit_object_common_aff IMPLEMENTATION.
|
|||
|
||||
" beyond here there will be dragons....
|
||||
TRY.
|
||||
CREATE OBJECT lo_handler_factory TYPE ('CL_AFF_OBJECT_HANDLER_FACTORY').
|
||||
|
||||
CALL METHOD lo_handler_factory->('IF_AFF_OBJECT_HANDLER_FACTORY~GET_OBJECT_HANDLER')
|
||||
EXPORTING
|
||||
object_type = ms_item-obj_type
|
||||
RECEIVING
|
||||
result = lo_object_handler.
|
||||
lo_object_handler = get_object_handler( ).
|
||||
|
||||
CREATE OBJECT lo_object_aff TYPE ('CL_AFF_OBJ')
|
||||
EXPORTING
|
||||
|
@ -326,10 +318,22 @@ CLASS zcl_abapgit_object_common_aff IMPLEMENTATION.
|
|||
ENDTRY.
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD get_object_handler.
|
||||
|
||||
DATA lo_handler_factory TYPE REF TO object.
|
||||
|
||||
CREATE OBJECT lo_handler_factory TYPE ('CL_AFF_OBJECT_HANDLER_FACTORY').
|
||||
|
||||
CALL METHOD lo_handler_factory->('IF_AFF_OBJECT_HANDLER_FACTORY~GET_OBJECT_HANDLER')
|
||||
EXPORTING
|
||||
object_type = ms_item-obj_type
|
||||
RECEIVING
|
||||
result = ro_object_handler.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD zif_abapgit_object~exists.
|
||||
DATA: lr_intf_aff_obj TYPE REF TO data,
|
||||
lo_handler_factory TYPE REF TO object,
|
||||
lo_object_handler TYPE REF TO object,
|
||||
lo_object_aff TYPE REF TO object,
|
||||
lv_name TYPE c LENGTH 120,
|
||||
|
@ -340,13 +344,7 @@ CLASS zcl_abapgit_object_common_aff IMPLEMENTATION.
|
|||
lv_name = ms_item-obj_name.
|
||||
|
||||
TRY.
|
||||
CREATE OBJECT lo_handler_factory TYPE ('CL_AFF_OBJECT_HANDLER_FACTORY').
|
||||
|
||||
CALL METHOD lo_handler_factory->('IF_AFF_OBJECT_HANDLER_FACTORY~GET_OBJECT_HANDLER')
|
||||
EXPORTING
|
||||
object_type = ms_item-obj_type
|
||||
RECEIVING
|
||||
result = lo_object_handler.
|
||||
lo_object_handler = get_object_handler( ).
|
||||
|
||||
CREATE OBJECT lo_object_aff TYPE ('CL_AFF_OBJ')
|
||||
EXPORTING
|
||||
|
@ -431,7 +429,6 @@ CLASS zcl_abapgit_object_common_aff IMPLEMENTATION.
|
|||
lr_intf_aff_log TYPE REF TO data,
|
||||
lr_intf_aff_settings TYPE REF TO data,
|
||||
lr_messages TYPE REF TO data,
|
||||
lo_handler_factory TYPE REF TO object,
|
||||
lo_object_handler TYPE REF TO object,
|
||||
lo_object_aff TYPE REF TO object,
|
||||
lo_object_json_file TYPE REF TO object,
|
||||
|
@ -459,13 +456,7 @@ CLASS zcl_abapgit_object_common_aff IMPLEMENTATION.
|
|||
lv_name = ms_item-obj_name.
|
||||
|
||||
TRY.
|
||||
CREATE OBJECT lo_handler_factory TYPE ('CL_AFF_OBJECT_HANDLER_FACTORY').
|
||||
|
||||
CALL METHOD lo_handler_factory->('IF_AFF_OBJECT_HANDLER_FACTORY~GET_OBJECT_HANDLER')
|
||||
EXPORTING
|
||||
object_type = ms_item-obj_type
|
||||
RECEIVING
|
||||
result = lo_object_handler.
|
||||
lo_object_handler = get_object_handler( ).
|
||||
|
||||
CREATE OBJECT lo_object_aff TYPE ('CL_AFF_OBJ')
|
||||
EXPORTING
|
||||
|
|
80
src/objects/aff/zcl_abapgit_object_eeec.clas.abap
Normal file
80
src/objects/aff/zcl_abapgit_object_eeec.clas.abap
Normal file
|
@ -0,0 +1,80 @@
|
|||
CLASS zcl_abapgit_object_eeec DEFINITION
|
||||
PUBLIC
|
||||
INHERITING FROM zcl_abapgit_object_common_aff
|
||||
FINAL
|
||||
CREATE PUBLIC .
|
||||
|
||||
PUBLIC SECTION.
|
||||
METHODS:
|
||||
zif_abapgit_object~changed_by REDEFINITION .
|
||||
|
||||
PROTECTED SECTION.
|
||||
METHODS: get_object_handler REDEFINITION.
|
||||
ENDCLASS.
|
||||
|
||||
|
||||
|
||||
CLASS zcl_abapgit_object_eeec IMPLEMENTATION.
|
||||
|
||||
METHOD zif_abapgit_object~changed_by.
|
||||
|
||||
DATA: lr_data TYPE REF TO data,
|
||||
lo_registry_adapter TYPE REF TO object,
|
||||
lv_object_key TYPE seu_objkey,
|
||||
lx_error TYPE REF TO cx_root.
|
||||
|
||||
FIELD-SYMBOLS: <ls_consumer> TYPE any,
|
||||
<lv_changed_by> TYPE any.
|
||||
|
||||
TRY.
|
||||
CREATE OBJECT lo_registry_adapter TYPE ('/IWXBE/CL_EEEC_REG_ADAPTER').
|
||||
CREATE DATA lr_data TYPE ('/IWXBE/IF_REGISTRY_TYPES=>TY_S_CONSUMER').
|
||||
ASSIGN lr_data->* TO <ls_consumer>.
|
||||
|
||||
lv_object_key = ms_item-obj_name.
|
||||
|
||||
TRY.
|
||||
CALL METHOD lo_registry_adapter->('/IWXBE/IF_EEEC_REG_ADAPTER_WB~GET_METADATA')
|
||||
EXPORTING
|
||||
iv_object_key = lv_object_key
|
||||
iv_state = 'I'
|
||||
RECEIVING
|
||||
rs_consumer = <ls_consumer>.
|
||||
|
||||
CATCH cx_root.
|
||||
CALL METHOD lo_registry_adapter->('/IWXBE/IF_EEEC_REG_ADAPTER_WB~GET_METADATA')
|
||||
EXPORTING
|
||||
iv_object_key = lv_object_key
|
||||
iv_state = 'A'
|
||||
RECEIVING
|
||||
rs_consumer = <ls_consumer>.
|
||||
ENDTRY.
|
||||
|
||||
ASSIGN COMPONENT 'CHANGED_BY' OF STRUCTURE <ls_consumer> TO <lv_changed_by>.
|
||||
rv_user = <lv_changed_by>.
|
||||
|
||||
CATCH cx_root INTO lx_error.
|
||||
zcx_abapgit_exception=>raise( iv_text = lx_error->get_text( )
|
||||
ix_previous = lx_error ).
|
||||
ENDTRY.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
METHOD get_object_handler.
|
||||
|
||||
DATA lx_error TYPE REF TO cx_root.
|
||||
|
||||
ro_object_handler = super->get_object_handler( ).
|
||||
|
||||
IF ro_object_handler IS NOT BOUND.
|
||||
TRY.
|
||||
CREATE OBJECT ro_object_handler TYPE ('/IWXBE/CL_EEEC_AFF_OBJECTHANDL').
|
||||
CATCH cx_root INTO lx_error.
|
||||
zcx_abapgit_exception=>raise( iv_text = lx_error->get_text( )
|
||||
ix_previous = lx_error ).
|
||||
ENDTRY.
|
||||
ENDIF.
|
||||
|
||||
ENDMETHOD.
|
||||
|
||||
ENDCLASS.
|
16
src/objects/aff/zcl_abapgit_object_eeec.clas.xml
Normal file
16
src/objects/aff/zcl_abapgit_object_eeec.clas.xml
Normal file
|
@ -0,0 +1,16 @@
|
|||
<?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_OBJECT_EEEC</CLSNAME>
|
||||
<LANGU>E</LANGU>
|
||||
<DESCRIPT>abapGit - EEEC - Event Consumption Model</DESCRIPT>
|
||||
<STATE>1</STATE>
|
||||
<CLSCCINCL>X</CLSCCINCL>
|
||||
<FIXPT>X</FIXPT>
|
||||
<UNICODE>X</UNICODE>
|
||||
</VSEOCLASS>
|
||||
</asx:values>
|
||||
</asx:abap>
|
||||
</abapGit>
|
Loading…
Reference in New Issue
Block a user