From e4c6cbcb2c0e5e1e3c60b0cd4bac95be03e9fe5d Mon Sep 17 00:00:00 2001 From: evarbanov Date: Tue, 22 Aug 2023 13:06:43 +0300 Subject: [PATCH] Expose Elasticsearch RestHighLevelClient delegate --- .../src/main/java/shimgen/ShimMaker.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/shim-generator/src/main/java/shimgen/ShimMaker.java b/shim-generator/src/main/java/shimgen/ShimMaker.java index 22a55a9..69b30ac 100644 --- a/shim-generator/src/main/java/shimgen/ShimMaker.java +++ b/shim-generator/src/main/java/shimgen/ShimMaker.java @@ -63,6 +63,21 @@ public void visit(ImportDeclaration n, Void arg) { public void visit(ClassOrInterfaceDeclaration n, Void arg) { if (n.getNameAsString().equals("RestHighLevelClient")) { super.visit(n, arg); + + shimInterface + .addMethod("getDelegate") + .setType("org.elasticsearch.client.RestHighLevelClient") + .removeBody(); + + BlockStmt createBlock = new BlockStmt(); + shimImplementation + .addMethod("getDelegate") + .setPublic(true) + .setType("org.elasticsearch.client.RestHighLevelClient") + .setBody(createBlock); + String implCreation = "return delegate;"; + createBlock.addStatement(JavaParser.parseStatement(implCreation)); + return; } logger.info("Client class {}, generating a constructor", n.getNameAsString());