Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions abaplint.json
Original file line number Diff line number Diff line change
Expand Up @@ -361,10 +361,6 @@
"exclude": [],
"severity": "Error"
},
"intf_referencing_clas": {
"exclude": [],
"severity": "Error"
},
"keep_single_parameter_on_one_line": {
"exclude": [],
"severity": "Error",
Expand Down
73 changes: 73 additions & 0 deletions src/zatt_connector/zcl_att_conn_tempo_zipkin.clas.abap
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
CLASS zcl_att_conn_tempo_zipkin DEFINITION
PUBLIC
FINAL
CREATE PUBLIC .

PUBLIC SECTION.

INTERFACES zif_att_trace_connector.

PROTECTED SECTION.
PRIVATE SECTION.
ENDCLASS.



CLASS zcl_att_conn_tempo_zipkin IMPLEMENTATION.
METHOD zif_att_trace_connector~connect.

DATA(tempo_zipkin_url) = customizing->get_connector_url( ).


cl_http_client=>create_by_url( EXPORTING
url = CONV #( tempo_zipkin_url )
IMPORTING
client = DATA(client)
EXCEPTIONS
argument_not_found = 1
plugin_not_active = 2
internal_error = 3
OTHERS = 4 ).
IF sy-subrc <> 0.
ASSERT 1 = 2.
ENDIF.

client->request->set_method( 'POST' ).
client->request->set_content_type( 'application/json' ).

TRY.
DATA(xjson) = cl_binary_convert=>string_to_xstring_utf8( iv_string = converted_trace-json ).
CATCH cx_sy_conversion_error.
ASSERT 1 = 2.
ENDTRY.

client->request->set_data( xjson ).

client->send(
EXCEPTIONS
http_communication_failure = 1
http_invalid_state = 2
http_processing_failed = 3
http_invalid_timeout = 4
OTHERS = 5 ).
IF sy-subrc <> 0.
ASSERT 1 = 2.
ENDIF.

client->receive(
EXCEPTIONS
http_communication_failure = 1
http_invalid_state = 2
http_processing_failed = 3
OTHERS = 4 ).
IF sy-subrc <> 0.
client->response->get_status( IMPORTING
code = DATA(http_code)
reason = DATA(reason) ).
ASSERT 1 = 2.
ENDIF.


ENDMETHOD.

ENDCLASS.
16 changes: 16 additions & 0 deletions src/zatt_connector/zcl_att_conn_tempo_zipkin.clas.xml
Original file line number Diff line number Diff line change
@@ -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_ATT_CONN_TEMPO_ZIPKIN</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>att connector tempo zipkin</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
</VSEOCLASS>
</asx:values>
</asx:abap>
</abapGit>
6 changes: 5 additions & 1 deletion src/zatt_connector/zif_att_trace_connector.intf.abap
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
INTERFACE zif_att_trace_connector
PUBLIC .
PUBLIC.

METHODS connect
IMPORTING converted_trace TYPE zif_att_trace_converter=>ty_converted_trace
customizing TYPE REF TO zcl_att_customizing.

ENDINTERFACE.
10 changes: 10 additions & 0 deletions src/zatt_converter/package.devc.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_DEVC" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<DEVC>
<CTEXT>att converter</CTEXT>
</DEVC>
</asx:values>
</asx:abap>
</abapGit>
14 changes: 14 additions & 0 deletions src/zatt_converter/zif_att_trace_converter.intf.abap
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
INTERFACE zif_att_trace_converter
PUBLIC.

TYPES: BEGIN OF ty_converted_trace,
trace_id TYPE sysuuid_c32,
json TYPE string,
END OF ty_converted_trace.

METHODS convert
IMPORTING trace TYPE REF TO zcl_att_trace_transaction
customizing TYPE REF TO zcl_att_customizing
RETURNING VALUE(converted_trace) TYPE ty_converted_trace.

ENDINTERFACE.
15 changes: 15 additions & 0 deletions src/zatt_converter/zif_att_trace_converter.intf.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<abapGit version="v1.0.0" serializer="LCL_OBJECT_INTF" serializer_version="v1.0.0">
<asx:abap xmlns:asx="http://www.sap.com/abapxml" version="1.0">
<asx:values>
<VSEOINTERF>
<CLSNAME>ZIF_ATT_TRACE_CONVERTER</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>Log Converter</DESCRIPT>
<EXPOSURE>2</EXPOSURE>
<STATE>1</STATE>
<UNICODE>X</UNICODE>
</VSEOINTERF>
</asx:values>
</asx:abap>
</abapGit>
49 changes: 49 additions & 0 deletions src/zatt_customizing/zcl_att_customizing.clas.abap
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
CLASS zcl_att_customizing DEFINITION PUBLIC ABSTRACT.
PUBLIC SECTION.

METHODS constructor
IMPORTING scenario TYPE zatt_config-trace_scenario.

METHODS get_converter_class ABSTRACT
RETURNING VALUE(converter_class) TYPE REF TO zif_att_trace_converter.

METHODS get_connector_class ABSTRACT
RETURNING VALUE(connector_class) TYPE REF TO zif_att_trace_connector.

METHODS get_connector_url ABSTRACT
RETURNING VALUE(connector_url) TYPE zatt_config-connector_url.

PROTECTED SECTION.

DATA scenario TYPE zatt_config-trace_scenario.
DATA configuration TYPE zatt_config.

PRIVATE SECTION.

METHODS set_scenario
IMPORTING scenario TYPE zatt_config-trace_scenario.

ENDCLASS.

CLASS zcl_att_customizing IMPLEMENTATION.
METHOD constructor.

me->set_scenario( scenario ).

ENDMETHOD.

METHOD set_scenario.

me->scenario = scenario.

SELECT SINGLE *
FROM zatt_config
INTO @configuration
WHERE trace_scenario = @scenario.
IF sy-subrc <> 0.
ASSERT 1 = 2.
ENDIF.

ENDMETHOD.

ENDCLASS.
16 changes: 16 additions & 0 deletions src/zatt_customizing/zcl_att_customizing.clas.xml
Original file line number Diff line number Diff line change
@@ -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_ATT_CUSTOMIZING</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>Abstract class for att customizing</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
</VSEOCLASS>
</asx:values>
</asx:abap>
</abapGit>
35 changes: 35 additions & 0 deletions src/zatt_customizing/zcl_att_customizing_base.clas.abap
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
CLASS zcl_att_customizing_base DEFINITION INHERITING FROM zcl_att_customizing
PUBLIC
FINAL
CREATE PUBLIC .

PUBLIC SECTION.

METHODS get_converter_class REDEFINITION.
METHODS get_connector_class REDEFINITION.
METHODS get_connector_url REDEFINITION.

PROTECTED SECTION.

PRIVATE SECTION.

ENDCLASS.

CLASS zcl_att_customizing_base IMPLEMENTATION.
METHOD get_connector_class.
DATA(connector_class_name) = configuration-connector_class.
TRANSLATE connector_class_name TO UPPER CASE.
CREATE OBJECT connector_class TYPE (connector_class_name).
ENDMETHOD.

METHOD get_connector_url.
connector_url = configuration-connector_url.
ENDMETHOD.

METHOD get_converter_class.
DATA(converter_class_name) = configuration-converter_class.
TRANSLATE converter_class_name TO UPPER CASE.
CREATE OBJECT converter_class TYPE (converter_class_name).
ENDMETHOD.

ENDCLASS.
16 changes: 16 additions & 0 deletions src/zatt_customizing/zcl_att_customizing_base.clas.xml
Original file line number Diff line number Diff line change
@@ -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_ATT_CUSTOMIZING_BASE</CLSNAME>
<LANGU>E</LANGU>
<DESCRIPT>att customizing</DESCRIPT>
<STATE>1</STATE>
<CLSCCINCL>X</CLSCCINCL>
<FIXPT>X</FIXPT>
<UNICODE>X</UNICODE>
</VSEOCLASS>
</asx:values>
</asx:abap>
</abapGit>