Skip to content

Commit a330e81

Browse files
authored
Remove deprecated code in GraphHandler for registering expressions (#4100)
Removes deprecated code from GraphHandler that supported the old streamFunctions configuration method for registering streaming expressions
1 parent 39b379f commit a330e81

File tree

2 files changed

+8
-40
lines changed

2 files changed

+8
-40
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# See https://github.com/apache/solr/blob/main/dev-docs/changelog.adoc
2+
title: Remove deprecated streamFunctions in GraphHandler for registering streaming expressions.
3+
type: removed # added, changed, fixed, deprecated, removed, dependency_update, security, other
4+
authors:
5+
- name: Eric Pugh
6+
links:
7+
- name: PR#4100
8+
url: https://github.com/apache/solr/pull/4100

solr/core/src/java/org/apache/solr/handler/GraphHandler.java

Lines changed: 0 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,8 @@
1919

2020
import java.io.IOException;
2121
import java.lang.invoke.MethodHandles;
22-
import java.util.Collections;
2322
import java.util.List;
2423
import java.util.Map;
25-
import java.util.Map.Entry;
2624
import org.apache.solr.client.solrj.io.SolrClientCache;
2725
import org.apache.solr.client.solrj.io.Tuple;
2826
import org.apache.solr.client.solrj.io.comp.StreamComparator;
@@ -32,16 +30,12 @@
3230
import org.apache.solr.client.solrj.io.stream.TupleStream;
3331
import org.apache.solr.client.solrj.io.stream.expr.DefaultStreamFactory;
3432
import org.apache.solr.client.solrj.io.stream.expr.Explanation;
35-
import org.apache.solr.client.solrj.io.stream.expr.Expressible;
3633
import org.apache.solr.client.solrj.io.stream.expr.StreamFactory;
3734
import org.apache.solr.common.params.CommonParams;
3835
import org.apache.solr.common.params.ModifiableSolrParams;
3936
import org.apache.solr.common.params.SolrParams;
4037
import org.apache.solr.common.params.StreamParams;
41-
import org.apache.solr.common.util.NamedList;
4238
import org.apache.solr.core.CoreContainer;
43-
import org.apache.solr.core.PluginInfo;
44-
import org.apache.solr.core.SolrConfig;
4539
import org.apache.solr.core.SolrCore;
4640
import org.apache.solr.request.SolrQueryRequest;
4741
import org.apache.solr.response.SolrQueryResponse;
@@ -60,12 +54,6 @@
6054
*
6155
* <p>To add additional functions, just define them as plugins in solrconfig.xml via {@code
6256
* <expressible name="count" class="org.apache.solr.client.solrj.io.stream.RecordCountStream" />}
63-
*
64-
* <p>The @deprecated configuration method as of Solr 8.5 is {@code <lst name="streamFunctions"><str
65-
* name="group">org.apache.solr.client.solrj.io.stream.ReducerStream</str><str
66-
* name="count">org.apache.solr.client.solrj.io.stream.RecordCountStream</str></lst> }
67-
*
68-
* @since 6.1.0
6957
*/
7058
public class GraphHandler extends RequestHandlerBase
7159
implements SolrCoreAware, PermissionNameProvider {
@@ -97,34 +85,6 @@ public void inform(SolrCore core) {
9785

9886
// This pulls all the overrides and additions from the config
9987
StreamHandler.addExpressiblePlugins(streamFactory, core);
100-
101-
// Check deprecated approach.
102-
Object functionMappingsObj = initArgs.get("streamFunctions");
103-
if (null != functionMappingsObj) {
104-
log.warn(
105-
"solrconfig.xml: <streamFunctions> is deprecated for adding additional streaming functions to GraphHandler.");
106-
NamedList<?> functionMappings = (NamedList<?>) functionMappingsObj;
107-
for (Entry<String, ?> functionMapping : functionMappings) {
108-
String key = functionMapping.getKey();
109-
PluginInfo pluginInfo =
110-
new PluginInfo(key, Collections.singletonMap("class", functionMapping.getValue()));
111-
112-
if (pluginInfo.pkgName == null) {
113-
Class<? extends Expressible> clazz =
114-
core.getResourceLoader()
115-
.findClass((String) functionMapping.getValue(), Expressible.class);
116-
streamFactory.withFunctionName(key, clazz);
117-
} else {
118-
@SuppressWarnings("resource")
119-
StreamHandler.ExpressibleHolder holder =
120-
new StreamHandler.ExpressibleHolder(
121-
pluginInfo,
122-
core,
123-
SolrConfig.classVsSolrPluginInfo.get(Expressible.class.getName()));
124-
streamFactory.withFunctionName(key, holder);
125-
}
126-
}
127-
}
12888
}
12989

13090
@Override

0 commit comments

Comments
 (0)