From 79b2e1f2fb9fc72bb0faaa6e9861cd52c966ee8c Mon Sep 17 00:00:00 2001 From: Daniel Widdis Date: Thu, 9 May 2024 21:26:17 -0700 Subject: [PATCH] Implement Custom interface parse method in Connector interface Signed-off-by: Daniel Widdis --- .../java/org/opensearch/ml/common/connector/Connector.java | 6 ++++++ common/src/main/java/org/opensearch/sdk/Custom.java | 4 +++- .../java/org/opensearch/ml/sdkclient/XContentClient.java | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/common/src/main/java/org/opensearch/ml/common/connector/Connector.java b/common/src/main/java/org/opensearch/ml/common/connector/Connector.java index cbe98f1494..f237b1f697 100644 --- a/common/src/main/java/org/opensearch/ml/common/connector/Connector.java +++ b/common/src/main/java/org/opensearch/ml/common/connector/Connector.java @@ -110,6 +110,12 @@ static Connector createConnector(XContentBuilder builder, String connectorProtoc throw illegalArgumentException; } } + + + @Override + default Custom parse(XContentParser parser) throws IOException { + return createConnector(parser); + } @SuppressWarnings("removal") static Connector createConnector(XContentParser parser) throws IOException { diff --git a/common/src/main/java/org/opensearch/sdk/Custom.java b/common/src/main/java/org/opensearch/sdk/Custom.java index 347f4d9546..cd84f876d2 100644 --- a/common/src/main/java/org/opensearch/sdk/Custom.java +++ b/common/src/main/java/org/opensearch/sdk/Custom.java @@ -11,9 +11,11 @@ import org.opensearch.core.xcontent.ToXContentObject; import org.opensearch.core.xcontent.XContentParser; +import java.io.IOException; + /** * Custom metadata. */ public interface Custom extends ToXContentObject { - Custom parse(XContentParser parser); + Custom parse(XContentParser parser) throws IOException; } diff --git a/plugin/src/main/java/org/opensearch/ml/sdkclient/XContentClient.java b/plugin/src/main/java/org/opensearch/ml/sdkclient/XContentClient.java index 3d87c58823..023c74acd5 100644 --- a/plugin/src/main/java/org/opensearch/ml/sdkclient/XContentClient.java +++ b/plugin/src/main/java/org/opensearch/ml/sdkclient/XContentClient.java @@ -79,7 +79,7 @@ public CompletionStage getCustom(GetCustomRequest request) { .complete( new GetCustomResponse.Builder().id(r.getId()).custom(request.clazz().cast(new Object()).parse(parser)).build() ); - } catch (Exception e) { + } catch (IOException e) { // Parsing error future.completeExceptionally(e); }