Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 8x 8x 8x 8x 8x 8x 8x 8x 8x 1x 8x 8x 8x 8x 8x 8x 8x 8x 1x 8x 8x 8x 8x 8x 8x 8x 1x 1x 1x 1x 1x 1x 1x 1x 1x 15x 15x 15x 15x 15x 15x 15x 15x 15x 15x 15x 15x 15x 15x 15x 15x 15x 15x 15x 15x 1x 1x 1x | const {zcl_abapgit_xml} = await import("./zcl_abapgit_xml.clas.mjs");
const {cx_root} = await import("./cx_root.clas.mjs");
// zcl_abapgit_xml_input.clas.abap
class zcl_abapgit_xml_input extends zcl_abapgit_xml {
static STATIC_SUPER = zcl_abapgit_xml;
static INTERNAL_TYPE = 'CLAS';
static INTERNAL_NAME = 'ZCL_ABAPGIT_XML_INPUT';
static IMPLEMENTED_INTERFACES = ["ZIF_ABAPGIT_XML_INPUT"];
static ATTRIBUTES = {};
static METHODS = {"FIX_XML": {"visibility": "I", "parameters": {}},
"CONSTRUCTOR": {"visibility": "U", "parameters": {"IV_XML": {"type": () => {return new abap.types.Character();}, "is_optional": " ", "parm_kind": "I", "type_name": "CLikeType"}, "IV_FILENAME": {"type": () => {return new abap.types.String({qualifiedName: "STRING"});}, "is_optional": " ", "parm_kind": "I", "type_name": "StringType"}}}};
constructor() {
const sup = super();
this.me = new abap.types.ABAPObject();
this.me.set(this);
this.INTERNAL_ID = abap.internalIdCounter++;
this.FRIENDS_ACCESS_INSTANCE = {
"SUPER": sup.FRIENDS_ACCESS_INSTANCE,
"fix_xml": this.#fix_xml.bind(this),
};
}
async constructor_(INPUT) {
let iv_xml = INPUT?.iv_xml;
let iv_filename = new abap.types.String({qualifiedName: "STRING"});
if (INPUT && INPUT.iv_filename) {iv_filename.set(INPUT.iv_filename);}
await super.constructor_({iv_filename: iv_filename});
await this.parse({iv_xml: iv_xml});
await this.#fix_xml();
return this;
}
async #fix_xml() {
let li_git = new abap.types.ABAPObject({qualifiedName: "IF_IXML_ELEMENT", RTTIName: "\\INTERFACE=IF_IXML_ELEMENT"});
let li_abap = new abap.types.ABAPObject({qualifiedName: "IF_IXML_NODE", RTTIName: "\\INTERFACE=IF_IXML_NODE"});
await abap.statements.cast(li_git, (await this.mi_xml_doc.get().if_ixml_document$find_from_name_ns({depth: abap.IntegerFactory.get(0), name: zcl_abapgit_xml_input.c_abapgit_tag})));
li_abap.set((await li_git.get().if_ixml_element$get_first_child()));
await (await this.mi_xml_doc.get().if_ixml_document$get_root()).get().if_ixml_node$remove_child({child: li_git});
await (await this.mi_xml_doc.get().if_ixml_document$get_root()).get().if_ixml_node$append_child({new_child: li_abap});
}
async zif_abapgit_xml_input$get_metadata() {
let rs_metadata = new abap.types.Structure({
"class": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_DEFINITIONS=>TY_METADATA-CLASS"}),
"version": new abap.types.String({qualifiedName: "ZIF_ABAPGIT_DEFINITIONS=>TY_METADATA-VERSION"})}, "zif_abapgit_definitions=>ty_metadata", undefined, {}, {});
rs_metadata.set(this.ms_metadata);
return rs_metadata;
}
async zif_abapgit_xml_input$get_raw() {
let ri_raw = new abap.types.ABAPObject({qualifiedName: "IF_IXML_DOCUMENT", RTTIName: "\\INTERFACE=IF_IXML_DOCUMENT"});
ri_raw.set(this.mi_xml_doc);
return ri_raw;
}
async zif_abapgit_xml_input$read(INPUT) {
let iv_name = INPUT?.iv_name;
let cg_data = new abap.types.Character(4);
if (INPUT && INPUT.cg_data) {cg_data = INPUT.cg_data;}
let lx_error = new abap.types.ABAPObject({qualifiedName: "CX_TRANSFORMATION_ERROR", RTTIName: "\\CLASS=CX_TRANSFORMATION_ERROR"});
let lt_rtab = abap.types.TableFactory.construct(new abap.types.Structure({
"name": new abap.types.String({qualifiedName: "NAME"}),
"value": new abap.types.DataReference(new abap.types.Character(4))}, "abap_trans_srcbind", undefined, {}, {}), {"withHeader":false,"keyType":"DEFAULT","primaryKey":{"name":"primary_key","type":"STANDARD","isUnique":false,"keyFields":[]},"secondary":[]}, "abap_trans_srcbind_tab");
let fs_ls_rtab_ = new abap.types.FieldSymbol(new abap.types.Structure({
"name": new abap.types.String({qualifiedName: "NAME"}),
"value": new abap.types.DataReference(new abap.types.Character(4))}, "abap_trans_srcbind", undefined, {}, {}));
abap.statements.assert(abap.compare.initial(iv_name) === false);
cg_data.clear();
fs_ls_rtab_.assign(lt_rtab.appendInitial());
fs_ls_rtab_.get().name.set(iv_name);
abap.statements.getReference(fs_ls_rtab_.get().value, cg_data);
try {
if (abap.Classes['KERNEL_CALL_TRANSFORMATION'] === undefined) throw new Error("CallTransformation, kernel class missing");
await abap.Classes['KERNEL_CALL_TRANSFORMATION'].call({name: "id",sourceXML: this.mi_xml_doc,options: {value_handling:abap.CharacterFactory.get(16, 'accept_data_loss')},result: (lt_rtab)});
} catch (e) {
if ((abap.Classes['CX_TRANSFORMATION_ERROR'] && e instanceof abap.Classes['CX_TRANSFORMATION_ERROR'])) {
lx_error.set(e);
if (abap.compare.initial(this.mv_filename)) {
await abap.Classes['ZCX_ABAPGIT_EXCEPTION'].raise({iv_text: (await lx_error.get().if_message$get_text())});
} else {
await abap.Classes['ZCX_ABAPGIT_EXCEPTION'].raise({iv_text: new abap.types.String().set(`File ${abap.templateFormatting(this.mv_filename)}: ${abap.templateFormatting((await lx_error.get().if_message$get_text()))}`)});
}
} else {
throw e;
}
}
}
}
abap.Classes['ZCL_ABAPGIT_XML_INPUT'] = zcl_abapgit_xml_input;
export {zcl_abapgit_xml_input}; |