public static Parsable fromQueryModel(Model model) { return new Parsable() .setModel(model) .setQuery(model.getQueryString()) .setFilter(model.getFilter()) .setExplicitLanguage(Optional.ofNullable(model.getLanguage())) .setDefaultIndexName(model.getDefaultIndex()) .addSources(model.getSources()) .addRestricts(model.getRestrict()) .setSelect(model.getParent().getSelect()); }
if (key.last().equals(Model.TYPE)) return model.getType(); if (key.last().equals(Model.FILTER)) return model.getFilter(); if (key.last().equals(Model.DEFAULT_INDEX)) return model.getDefaultIndex(); if (key.last().equals(Model.LANGUAGE)) return model.getLanguage(); if (key.last().equals(Model.LOCALE)) return model.getLocale();
/** * Convert String to query tree * * @param stringToParse The string to be converted to a * query tree * @param query Query object from searcher * @return Item The resulting query tree */ static Item convertStringToQTree(Query query, String stringToParse) { RewriterUtils.log(logger, query, "Converting string [" + stringToParse + "] to query tree"); if(stringToParse==null) { return new NullItem(); } Model model = query.getModel(); CustomParser parser = (CustomParser) ParserFactory.newInstance(model.getType(), ParserEnvironment.fromExecutionContext(query.getModel().getExecution().context())); IndexFacts indexFacts = new IndexFacts(); Item item = parser.parse(stringToParse, null, model.getParsingLanguage(), indexFacts.newSession(model.getSources(), model.getRestrict()), model.getDefaultIndex()); RewriterUtils.log(logger, query, "Converted string: [" + item.toString() + "]"); return item; }