Search in sources :

Example 1 with Client

use of org.opensearch.client.opensearch.experiments.base.Client in project opensearch-java by opensearch-project.

the class ClientTests method testClient.

@Test
public void testClient() throws Exception {
    Client client = new Client() {

        @Override
        protected <RequestT, ResponseT, ErrorT> ResponseT performRequest(RequestT request, Endpoint<RequestT, ResponseT, ErrorT> endpoint) throws IOException {
            // don't care for now, we're testing compilation
            return null;
        }
    };
    client.foo(fb -> fb.name("z").value(1).routing("fooo").query(q -> q.bool(b -> b.add_must(m -> m.terms((TermsQuery) null))).meta(Collections.emptyMap())));
    // Builders everywhere
    FooResponse r1 = client.foo(FooRequest.builder().name("z").value(1).bar(Bar.builder().name("Raise the bar").build()).build());
    // Illustrates creating an object outside of the client call
    TermsQuery filter = TermsQuery.builder().field("foo").term("bar").build();
    Query filter2 = new Query.Builder().terms(t -> t.field("foo").term("bar")).build();
    // Fluid lambda-based builders
    FooResponse r2 = client.foo(f -> f.name("z").value(1).bar(bar -> bar.name("Raise the bar")).query(q -> q.bool(b -> b.add_must(q1 -> q1.terms(filter)).add_must(q1 -> q1.terms(t -> t.field("a").term("b"))).add_must(q1 -> q1.terms(t -> t.field("a").term("b"))).minimumShouldMatch(2))));
}
Also used : FooRequest(org.opensearch.client.opensearch.experiments.api.FooRequest) Client(org.opensearch.client.opensearch.experiments.base.Client) Query(org.opensearch.client.opensearch.experiments.api.query2.Query) Endpoint(org.opensearch.client.transport.Endpoint) Bar(org.opensearch.client.opensearch.experiments.api.Bar) Test(org.junit.Test) IOException(java.io.IOException) FooResponse(org.opensearch.client.opensearch.experiments.api.FooResponse) TermsQuery(org.opensearch.client.opensearch.experiments.api.query2.TermsQuery) Collections(java.util.Collections) Endpoint(org.opensearch.client.transport.Endpoint) Query(org.opensearch.client.opensearch.experiments.api.query2.Query) TermsQuery(org.opensearch.client.opensearch.experiments.api.query2.TermsQuery) FooResponse(org.opensearch.client.opensearch.experiments.api.FooResponse) Client(org.opensearch.client.opensearch.experiments.base.Client) TermsQuery(org.opensearch.client.opensearch.experiments.api.query2.TermsQuery) Test(org.junit.Test)

Aggregations

IOException (java.io.IOException)1 Collections (java.util.Collections)1 Test (org.junit.Test)1 Bar (org.opensearch.client.opensearch.experiments.api.Bar)1 FooRequest (org.opensearch.client.opensearch.experiments.api.FooRequest)1 FooResponse (org.opensearch.client.opensearch.experiments.api.FooResponse)1 Query (org.opensearch.client.opensearch.experiments.api.query2.Query)1 TermsQuery (org.opensearch.client.opensearch.experiments.api.query2.TermsQuery)1 Client (org.opensearch.client.opensearch.experiments.base.Client)1 Endpoint (org.opensearch.client.transport.Endpoint)1