use of org.molgenis.emx2.Query 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))));
}
use of org.molgenis.emx2.Query in project molgenis-emx2 by molgenis.
the class TestGraphqlAdminFields method execute.
private JsonNode execute(String query) throws IOException {
String result = convertExecutionResultToJson(grapql.execute(query));
JsonNode node = new ObjectMapper().readTree(result);
if (node.get("errors") != null) {
throw new MolgenisException(node.get("errors").get(0).get("message").asText());
}
return new ObjectMapper().readTree(result).get("data");
}
use of org.molgenis.emx2.Query in project molgenis-emx2 by molgenis.
the class TestGraphqlCrossSchemaRefs method execute.
private JsonNode execute(String query) throws IOException {
String result = convertExecutionResultToJson(graphql.execute(query));
JsonNode node = new ObjectMapper().readTree(result);
if (node.get("errors") != null) {
throw new MolgenisException(node.get("errors").get(0).get("message").asText(), "");
}
return new ObjectMapper().readTree(result).get("data");
}
use of org.molgenis.emx2.Query in project molgenis-emx2 by molgenis.
the class GraphqlApi method getVariablesFromRequest.
private static Map<String, Object> getVariablesFromRequest(Request request) {
if ("POST".equals(request.requestMethod())) {
try {
if (request.headers("Content-Type").startsWith("multipart/form-data")) {
Map<String, Object> variables = new ObjectMapper().readValue(request.queryParams(VARIABLES), Map.class);
// now replace each part id with the part
putPartsIntoMap(variables, request.raw().getParts().stream().filter(p -> !p.getName().equals(VARIABLES) && !p.getName().equals(QUERY)).collect(Collectors.toList()));
//
return variables;
} else {
Map<String, Object> node = new ObjectMapper().readValue(request.body(), Map.class);
return (Map<String, Object>) node.get(VARIABLES);
}
} catch (Exception e) {
throw new MolgenisException("Parsing of graphql variables failed. Should be an object with each graphql variable a key. " + e.getMessage(), e);
}
}
return null;
}
use of org.molgenis.emx2.Query in project molgenis-emx2 by molgenis.
the class CatalogueSiteMapTest method buildSiteMap.
@Test
public void buildSiteMap() {
Schema schema = mock(Schema.class);
Table table = mock(Table.class);
Query query = mock(Query.class);
List<Row> row = Collections.singletonList(new Row("pid", "my-cohort-pid"));
when(schema.getTable("Cohorts")).thenReturn(table);
when(table.select(any())).thenReturn(query);
when(query.retrieveRows()).thenReturn(row);
CatalogueSiteMap catalogueSiteMap = new CatalogueSiteMap(schema, "https://my/base/url");
String expected = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + "<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\" >\n" + " <url>\n" + " <loc>https://my/base/url/ssr-catalogue/Cohorts/my-cohort-pid</loc>\n" + " </url>\n" + "</urlset>";
assertEquals(expected, catalogueSiteMap.buildSiteMap());
}
Aggregations