/** returns an Iterator over the parameter names */ @Override public Iterator<String> getParameterNamesIterator() { return params.getParameterNamesIterator(); }
/** returns an Iterator over the parameter names */ @Override public Iterator<String> getParameterNamesIterator() { return params.getParameterNamesIterator(); }
/** returns an Iterator over the parameter names */ @Override public Iterator<String> getParameterNamesIterator() { return params.getParameterNamesIterator(); }
@Override public Iterator<String> getParameterNamesIterator() { return delegateParams.getParameterNamesIterator(); }
@Override public Iterator<String> getParameterNamesIterator() { // We need to compute the set of all param names in advance // So we don't wind up with an iterator that returns the same // String more then once (SOLR-6780) LinkedHashSet<String> allKeys = new LinkedHashSet<>(); for (SolrParams p : new SolrParams [] {params, defaults}) { Iterator<String> localKeys = p.getParameterNamesIterator(); while (localKeys.hasNext()) { allKeys.add(localKeys.next()); } } return allKeys.iterator(); }
@Override public Iterator<String> getParameterNamesIterator() { // We need to compute the set of all param names in advance // So we don't wind up with an iterator that returns the same // String more then once (SOLR-6780) LinkedHashSet<String> allKeys = new LinkedHashSet<>(); for (SolrParams p : new SolrParams [] {params, defaults}) { Iterator<String> localKeys = p.getParameterNamesIterator(); while (localKeys.hasNext()) { allKeys.add(localKeys.next()); } } return allKeys.iterator(); }
/** * Extracts parameters that can possibly match some attributes of Carrot2 algorithms. */ private void extractCarrotAttributes(SolrParams solrParams, Map<String, Object> attributes) { // Extract all non-predefined parameters. This way, we'll be able to set all // parameters of Carrot2 algorithms without defining their names as constants. for (Iterator<String> paramNames = solrParams.getParameterNamesIterator(); paramNames .hasNext();) { String paramName = paramNames.next(); if (!CarrotParams.CARROT_PARAM_NAMES.contains(paramName)) { attributes.put(paramName, solrParams.get(paramName)); } } }
/** Returns this SolrParams as a properly URL encoded string, starting with {@code "?"}, if not empty. */ public String toQueryString() { try { final String charset = StandardCharsets.UTF_8.name(); final StringBuilder sb = new StringBuilder(128); boolean first = true; for (final Iterator<String> it = getParameterNamesIterator(); it.hasNext();) { final String name = it.next(), nameEnc = URLEncoder.encode(name, charset); for (String val : getParams(name)) { sb.append(first ? '?' : '&').append(nameEnc).append('=').append(URLEncoder.encode(val, charset)); first = false; } } return sb.toString(); } catch (UnsupportedEncodingException e) { // impossible! throw new AssertionError(e); } }
/** * Add in the literals to the document using the {@link #params} and the {@link #LITERALS_PREFIX}. */ protected void addLiterals() { Iterator<String> paramNames = params.getParameterNamesIterator(); literalFieldNames = new HashSet<>(); while (paramNames.hasNext()) { String pname = paramNames.next(); if (!pname.startsWith(LITERALS_PREFIX)) continue; String name = pname.substring(LITERALS_PREFIX.length()); addField(name, null, params.getParams(pname)); literalFieldNames.add(name); } }
public void add(SolrParams params) { Iterator<String> names = params.getParameterNamesIterator(); while (names.hasNext()) { String name = names.next(); set(name, params.getParams(name)); } }
public void add(SolrParams params) { Iterator<String> names = params.getParameterNamesIterator(); while (names.hasNext()) { String name = names.next(); set(name, params.getParams(name)); } }
public SolrParamResourceLoader(SolrQueryRequest request) { super(); // TODO: Consider using content streams, but need a template name associated with each stream // for now, a custom param convention of template.<name>=<template body> is a nice example // of per-request overrides of templates org.apache.solr.common.params.SolrParams params = request.getParams(); Iterator<String> names = params.getParameterNamesIterator(); while (names.hasNext()) { String name = names.next(); if (name.startsWith(TEMPLATE_PARAM_PREFIX)) { templates.put(name.substring(TEMPLATE_PARAM_PREFIX.length()) + VelocityResponseWriter.TEMPLATE_EXTENSION,params.get(name)); } } }
public SolrParamResourceLoader(SolrQueryRequest request) { super(); // TODO: Consider using content streams, but need a template name associated with each stream // for now, a custom param convention of template.<name>=<template body> is a nice example // of per-request overrides of templates org.apache.solr.common.params.SolrParams params = request.getParams(); Iterator<String> names = params.getParameterNamesIterator(); while (names.hasNext()) { String name = names.next(); if (name.startsWith("v.template.")) { templates.put(name.substring(11) + ".vm",params.get(name)); } } }
@Override public Iterator<String> getParameterNamesIterator() { final IteratorChain<String> c = new IteratorChain<String>(); c.addIterator(defaults.getParameterNamesIterator()); c.addIterator(params.getParameterNamesIterator()); return c; }
@Deprecated public SolrParams toFilteredSolrParams(List<String> names) { // TODO do this better somehow via a view that filters? See SolrCore.preDecorateResponse. // ... and/or add some optional predicates to iterator()? NamedList<String> nl = new NamedList<>(); for (Iterator<String> it = getParameterNamesIterator(); it.hasNext();) { final String name = it.next(); if (names.contains(name)) { final String[] values = getParams(name); for (String value : values) { nl.add(name, value); } } } return nl.toSolrParams(); }
private NamedList solrParamsToNamedList(SolrParams params) { if (params == null) return new NamedList(); Iterator<String> it = params.getParameterNamesIterator(); NamedList nl = new NamedList(); while (it.hasNext()) { String s = it.next(); nl.add(s, params.getParams(s)); } return nl; }
/** Create filtered SolrParams. */ public SolrParams toFilteredSolrParams(List<String> names) { NamedList<String> nl = new NamedList<>(); for (Iterator<String> it = getParameterNamesIterator(); it.hasNext();) { final String name = it.next(); if (names.contains(name)) { final String[] values = getParams(name); for (String value : values) { nl.add(name, value); } } } return toSolrParams(nl); }
/** Convert this to a NamedList */ public NamedList<Object> toNamedList() { final SimpleOrderedMap<Object> result = new SimpleOrderedMap<>(); for(Iterator<String> it=getParameterNamesIterator(); it.hasNext(); ) { final String name = it.next(); final String [] values = getParams(name); if(values.length==1) { result.add(name,values[0]); } else { // currently no reason not to use the same array result.add(name,values); } } return result; }
/** Convert this to a NamedList */ public NamedList<Object> toNamedList() { final SimpleOrderedMap<Object> result = new SimpleOrderedMap<Object>(); for(Iterator<String> it=getParameterNamesIterator(); it.hasNext(); ) { final String name = it.next(); final String [] values = getParams(name); if(values.length==1) { result.add(name,values[0]); } else { // currently no reason not to use the same array result.add(name,values); } } return result; } }
@Override public void writeMap(EntryWriter ew) throws IOException { ew.put("class", this.getClass().getName()); ew.put("method", getMethod().toString()); SolrParams params = getParams(); if (params != null) { for (Iterator<String> it = params.getParameterNamesIterator(); it.hasNext(); ) { final String name = it.next(); final String [] values = params.getParams(name); for (String value : values) { ew.put("params." + name, value); } } } }