List of usage examples for org.springframework.data.solr.core.query Function getOperation
String getOperation();
From source file:org.springframework.data.solr.core.QueryParserBase.java
/** * Create {@link SolrServer} readable String representation for {@link Function} * //w w w . ja v a 2 s . c om * @param function * @return * @since 1.1 */ protected String createFunctionFragment(Function function, int level) { StringBuilder sb = new StringBuilder(); if (level <= 0) { sb.append("{!func}"); } sb.append(function.getOperation()); sb.append('('); if (function.hasArguments()) { List<String> solrReadableArguments = new ArrayList<String>(); for (Object arg : function.getArguments()) { Assert.notNull(arg, "Unable to parse 'null' within function arguments."); if (arg instanceof Function) { solrReadableArguments.add(createFunctionFragment((Function) arg, level + 1)); } else if (arg instanceof Criteria) { solrReadableArguments.add(createQueryStringFromNode((Criteria) arg)); } else if (arg instanceof Field) { solrReadableArguments.add(((Field) arg).getName()); } else if (arg instanceof Query) { solrReadableArguments.add(getQueryString((Query) arg)); } else if (arg instanceof String || !conversionService.canConvert(arg.getClass(), String.class)) { solrReadableArguments.add(arg.toString()); } else { solrReadableArguments.add(conversionService.convert(arg, String.class)); } } sb.append(StringUtils.join(solrReadableArguments, ',')); } sb.append(')'); return sb.toString(); }