From 62fe6910487a79bf092024af0fa58b1602b262b7 Mon Sep 17 00:00:00 2001 From: larshp Date: Wed, 18 Jan 2017 19:08:18 +0000 Subject: [PATCH] ENHO: starting wdyconf --- src/zabapgit_object_enho.prog.abap | 104 ++++++++++++++++++++++++++++- 1 file changed, 103 insertions(+), 1 deletion(-) diff --git a/src/zabapgit_object_enho.prog.abap b/src/zabapgit_object_enho.prog.abap index 83f9f2cca..b6c45a16c 100644 --- a/src/zabapgit_object_enho.prog.abap +++ b/src/zabapgit_object_enho.prog.abap @@ -18,6 +18,104 @@ INTERFACE lif_object_enho. ENDINTERFACE. +CLASS lcl_object_enho_wdyconf DEFINITION. + + PUBLIC SECTION. + METHODS: constructor + IMPORTING + is_item TYPE ty_item + io_files TYPE REF TO lcl_objects_files. + INTERFACES: lif_object_enho. + + PRIVATE SECTION. + DATA: ms_item TYPE ty_item, + mo_files TYPE REF TO lcl_objects_files. + +ENDCLASS. + +CLASS lcl_object_enho_wdyconf IMPLEMENTATION. + + METHOD constructor. + ms_item = is_item. + mo_files = io_files. + ENDMETHOD. + + METHOD lif_object_enho~deserialize. + + DATA: lv_enhname TYPE enhname, + lo_wdyconf TYPE REF TO cl_wdr_cfg_enhancement, + li_tool TYPE REF TO if_enh_tool, + lv_package TYPE devclass. + + +* io_xml->read( EXPORTING iv_name = 'SHORTTEXT' +* CHANGING cg_data = lv_shorttext ). + + lv_enhname = ms_item-obj_name. + lv_package = iv_package. + TRY. + cl_enh_factory=>create_enhancement( + EXPORTING + enhname = lv_enhname + enhtype = '' + enhtooltype = cl_wdr_cfg_enhancement=>tooltype + IMPORTING + enhancement = li_tool + CHANGING + devclass = lv_package ). + lo_wdyconf ?= li_tool. + +* todo +* CL_WDR_CFG_PERSISTENCE_UTILS=>COMP_XML_TO_TABLES( ) +* lo_wdyconf->set_enhancement_data( ) + + ASSERT 0 = 1. + + lo_wdyconf->if_enh_object~save( ). + lo_wdyconf->if_enh_object~unlock( ). + CATCH cx_enh_root. + lcx_exception=>raise( 'error deserializing ENHO wdyconf' ). + ENDTRY. + + ENDMETHOD. + + METHOD lif_object_enho~serialize. + + DATA: lo_wdyconf TYPE REF TO cl_wdr_cfg_enhancement, + lt_data TYPE wdy_cfg_expl_data_tab, + ls_outline TYPE wdy_cfg_outline_data, + li_document TYPE REF TO if_ixml_document, + li_element TYPE REF TO if_ixml_element. + + + lo_wdyconf ?= ii_enh_tool. + + lo_wdyconf->get_enhancement_data( + EXPORTING + p_scope = 1 + IMPORTING + p_enh_data = lt_data ). + + cl_wdr_cfg_persistence_utils=>comp_tables_to_xml( + EXPORTING + outline_data = ls_outline + expl_data_tab = lt_data + IMPORTING + element = li_element + CHANGING + document = li_document ). +* todo + + io_xml->add( iv_name = 'TOOL' + ig_data = ii_enh_tool->get_tool( ) ). +* io_xml->add( ig_data = lv_shorttext +* iv_name = 'SHORTTEXT' ). + + ENDMETHOD. + +ENDCLASS. + + CLASS lcl_object_enho_clif DEFINITION. PUBLIC SECTION. @@ -820,9 +918,13 @@ CLASS lcl_object_enho IMPLEMENTATION. EXPORTING is_item = ms_item io_files = mo_files. + WHEN cl_wdr_cfg_enhancement=>tooltype. + CREATE OBJECT ri_enho TYPE lcl_object_enho_wdyconf + EXPORTING + is_item = ms_item + io_files = mo_files. * ToDo: * WHEN 'ENHFUGRDATA'. "cl_enh_tool_fugr -* WHEN cl_wdr_cfg_enhancement=>tooltype. * WHEN 'ENHWDYN'. "cl_enh_tool_wdy WHEN OTHERS. lcx_exception=>raise( |Unsupported ENHO type { iv_tool }| ).