From cd3dc5ed9d8e161cf6d4b77237bb285b5693daed Mon Sep 17 00:00:00 2001 From: Lars Hvam Date: Tue, 26 Apr 2022 10:15:17 +0200 Subject: [PATCH 1/2] remove use of cl_abap_enumdescr --- src/zcl_aff_writer_json_schema.clas.abap | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/src/zcl_aff_writer_json_schema.clas.abap b/src/zcl_aff_writer_json_schema.clas.abap index de12d960..543d634e 100644 --- a/src/zcl_aff_writer_json_schema.clas.abap +++ b/src/zcl_aff_writer_json_schema.clas.abap @@ -763,12 +763,6 @@ CLASS zcl_aff_writer_json_schema IMPLEMENTATION. ELSEIF abap_doc-enumvalues_link IS NOT INITIAL. set_enum_properties( element_description->type_kind ). result = enum_values. - ELSEIF element_description IS INSTANCE OF cl_abap_enumdescr. - DATA(enum_description) = CAST cl_abap_enumdescr( element_description ). - LOOP AT enum_description->members ASSIGNING FIELD-SYMBOL(). - DATA(formatted_name) = apply_formatting( CONV #( -name ) ). - APPEND formatted_name TO result. - ENDLOOP. ELSE. IF get_json_type_from_description( element_description ) = zif_aff_writer=>type_info-boolean. RETURN. @@ -799,12 +793,6 @@ CLASS zcl_aff_writer_json_schema IMPLEMENTATION. ENDLOOP. ELSEIF abap_doc-enumvalues_link IS NOT INITIAL. result = enum_descriptions. - ELSEIF element_description IS INSTANCE OF cl_abap_enumdescr. - DATA(enum_description) = CAST cl_abap_enumdescr( element_description ). - LOOP AT enum_description->members ASSIGNING FIELD-SYMBOL(). - DATA(description) = map_and_format_name( CONV #( -name ) ). - APPEND description TO result. - ENDLOOP. ELSE. element_description->get_ddic_fixed_values( RECEIVING From 589527e4fa3ccadfb5f9e63aba553d7811e0f6e1 Mon Sep 17 00:00:00 2001 From: Katharina Wurz Date: Tue, 26 Apr 2022 12:23:10 +0000 Subject: [PATCH 2/2] Fix unit test --- src/zcl_aff_writer_json_schema.clas.testclasses.abap | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/src/zcl_aff_writer_json_schema.clas.testclasses.abap b/src/zcl_aff_writer_json_schema.clas.testclasses.abap index 236854d9..c68a15db 100644 --- a/src/zcl_aff_writer_json_schema.clas.testclasses.abap +++ b/src/zcl_aff_writer_json_schema.clas.testclasses.abap @@ -39,6 +39,7 @@ CLASS ltcl_json_writer IMPLEMENTATION. METHOD enum_element. * base type / base structure/ ohne (integer) +* ABAP enums are not supported and hence treated as string with maxLength 30 TYPES: BEGIN OF ENUM category, general ##NEEDED, @@ -53,14 +54,7 @@ CLASS ltcl_json_writer IMPLEMENTATION. ( | "$schema": "{ zcl_aff_writer_json_schema=>c_schema_specification }",| ) ( | "$id": "{ schema_id }",| ) ( ` "type": "string",` ) -( ` "enum": [` ) -( ` "general",` ) -( ` "classicBadi"` ) -( ` ],` ) -( ` "enumDescriptions": [` ) -( ` "general",` ) -( ` "classicBadi"` ) -( ` ]` ) +( ` "maxLength": 30` ) ( `}` ) ( ) ). zcl_aff_tools_unit_test_helper=>assert_equals_ignore_spaces( act_data = act_schema exp_data = exp_schema ).