private MetaData metadataFromString(String metadataAsString) { // TODO this is not ok, it returns an almost empty Metadata MetaData metaData; // add the required root object ... metadataAsString = "{\"meta-data\":" + metadataAsString + "}"; try { JsonXContentParser xContentParser = new JsonXContentParser(new JsonFactory().createParser(metadataAsString)); metaData = MetaData.Builder.fromXContent(xContentParser); } catch (IOException e) { throw new RuntimeException(); } return metaData; }
protected void updateRequestWithCollapse(Select select, SearchRequestBuilder request) throws SqlParseException { JsonFactory jsonFactory = new JsonFactory(); for (Hint hint : select.getHints()) { if (hint.getType() == HintType.COLLAPSE && hint.getParams() != null && 0 < hint.getParams().length) { try (JsonXContentParser parser = new JsonXContentParser(NamedXContentRegistry.EMPTY, jsonFactory.createParser(hint.getParams()[0].toString()))) { request.setCollapse(CollapseBuilder.fromXContent(parser)); } catch (IOException e) { throw new SqlParseException("could not parse collapse hint: " + e.getMessage()); } } } }