You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@solr.apache.org by kr...@apache.org on 2022/09/22 19:42:46 UTC
[solr] branch main updated: SOLR-16427: Evaluate and fix errorprone rules (#1037)
This is an automated email from the ASF dual-hosted git repository.
krisden pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/solr.git
The following commit(s) were added to refs/heads/main by this push:
new 83de120de95 SOLR-16427: Evaluate and fix errorprone rules (#1037)
83de120de95 is described below
commit 83de120de950fee3876a9e3a6b344b403630ae06
Author: Kevin Risden <ri...@users.noreply.github.com>
AuthorDate: Thu Sep 22 15:42:40 2022 -0400
SOLR-16427: Evaluate and fix errorprone rules (#1037)
Enables the following errorprone rules:
* `ArrayEquals`
* `ArrayHashCode`
* `ArrayToString`
* `CollectionUndefinedEquality`
* `EqualsIncompatibleType`
* `FormatString`
* `UndefinedEquals`
Most of the fixes are straight forward - use `.equals` and `Objects.equals` where appropriate. Used `contentEquals` for char sequences. Make sure to compare `Instant` instead of just `Date`. Ensure proper string format number of arguments. Make sure to use proper Array methods for `hashCode` and `toString`
---
.../apache/lucene/missingdoclet/MissingDoclet.java | 2 -
gradle/validation/error-prone.gradle | 9 +-
.../solr/cloud/overseer/CollectionMutator.java | 2 +-
.../org/apache/solr/handler/ClassifyStream.java | 14 +-
.../apache/solr/handler/admin/MetricsHandler.java | 4 +-
.../solr/handler/component/DebugComponent.java | 3 +-
.../solr/handler/component/QueryComponent.java | 4 +-
.../solr/handler/component/ResponseBuilder.java | 3 +-
.../component/ShardFieldSortedHitQueue.java | 3 +-
.../org/apache/solr/highlight/RegexFragmenter.java | 4 +-
.../java/org/apache/solr/request/SimpleFacets.java | 3 +-
.../apache/solr/request/macro/MacroExpander.java | 9 +-
.../response/transform/ChildDocTransformer.java | 2 +-
.../org/apache/solr/search/facet/LegacyFacet.java | 3 +-
.../solr/search/facet/StrAggValueSource.java | 5 +-
.../function/distance/StringDistanceFunction.java | 3 +-
.../processor/AtomicUpdateDocumentMerger.java | 4 +-
.../update/processor/URLClassifyProcessor.java | 3 +-
.../test/org/apache/solr/TestGroupingSearch.java | 7 +-
.../OverseerCollectionConfigSetProcessorTest.java | 3 +-
.../apache/solr/cloud/TestRandomFlRTGCloud.java | 4 +-
.../solr/cloud/TestStressInPlaceUpdates.java | 2 +-
.../org/apache/solr/handler/JsonLoaderTest.java | 3 +-
.../component/DistributedFacetPivotSmallTest.java | 5 +-
.../PhrasesIdentificationComponentTest.java | 36 ++--
.../org/apache/solr/request/SimpleFacetsTest.java | 2 +-
.../org/apache/solr/request/TestWriterPerf.java | 4 +-
.../org/apache/solr/response/JSONWriterTest.java | 11 +-
.../solr/response/TestSolrQueryResponse.java | 9 +-
.../test/org/apache/solr/search/DocSetPerf.java | 10 +-
.../org/apache/solr/search/LargeFieldTest.java | 5 +-
.../org/apache/solr/search/ReturnFieldsTest.java | 11 +-
.../org/apache/solr/search/TestIndexSearcher.java | 4 +-
.../org/apache/solr/search/TestQueryTypes.java | 4 +-
.../org/apache/solr/search/TestSolrCoreParser.java | 7 +-
.../search/facet/TestCloudJSONFacetJoinDomain.java | 18 +-
.../org/apache/solr/search/join/BJQParserTest.java | 6 +-
.../CloneFieldUpdateProcessorFactoryTest.java | 75 ++++----
.../processor/DefaultValueUpdateProcessorTest.java | 8 +-
.../DocExpirationUpdateProcessorFactoryTest.java | 44 +++--
.../FieldMutatingUpdateProcessorTest.java | 113 ++++++------
.../ParsingFieldUpdateProcessorsTest.java | 198 ++++++++++-----------
.../src/test/org/apache/solr/util/BitSetPerf.java | 14 +-
.../test/org/apache/solr/util/ModuleUtilsTest.java | 7 +-
.../solr/util/tracing/TestHttpServletCarrier.java | 8 +-
...ExtractNamedEntitiesUpdateProcessorFactory.java | 56 +++---
.../apache/solr/analytics/ExpressionFactory.java | 2 +-
.../function/mapping/BottomFunctionTest.java | 12 +-
.../function/mapping/DateMathFunctionTest.java | 23 ++-
.../function/mapping/DateParseFunctionTest.java | 56 +++---
.../analytics/function/mapping/IfFunctionTest.java | 68 +++----
.../function/mapping/ReplaceFunctionTest.java | 4 +-
.../function/mapping/TopFunctionTest.java | 12 +-
.../legacy/expression/LegacyExpressionTest.java | 8 +-
.../facet/LegacyFieldFacetExtrasCloudTest.java | 24 ++-
.../legacy/facet/LegacyFieldFacetExtrasTest.java | 22 ++-
.../value/CastingDateValueStreamTest.java | 8 +-
.../solr/analytics/value/CastingDateValueTest.java | 17 +-
.../solr/analytics/value/ConstantValueTest.java | 12 +-
.../handler/extraction/SolrContentHandler.java | 3 +-
.../ltr/interleaving/LTRInterleavingQuery.java | 5 +-
.../client/solrj/io/graph/ShortestPathStream.java | 4 +-
.../client/solrj/io/sql/ResultSetMetaDataImpl.java | 2 +-
.../client/solrj/io/stream/CloudSolrStream.java | 5 +-
.../client/solrj/io/stream/DeepRandomStream.java | 6 +-
.../solr/client/solrj/io/stream/Facet2DStream.java | 9 +-
.../solr/client/solrj/io/stream/FacetStream.java | 13 +-
.../client/solrj/io/stream/HashJoinStream.java | 2 +-
.../solr/client/solrj/io/stream/JDBCStream.java | 2 +-
.../solr/client/solrj/io/stream/PlotStream.java | 2 +-
.../solr/client/solrj/io/stream/ShuffleStream.java | 6 +-
.../solr/client/solrj/io/stream/SqlStream.java | 6 +-
.../client/solrj/io/stream/TextLogitStream.java | 2 +-
.../solr/client/solrj/io/stream/TopicStream.java | 8 +-
.../solr/client/solrj/io/stream/TupStream.java | 2 +-
.../org/apache/solr/common/util/JavaBinCodec.java | 2 +-
.../apache/solr/common/util/JsonTextWriter.java | 11 +-
.../java/org/apache/solr/common/util/Utils.java | 2 +-
.../apache/solr/client/solrj/SolrQueryTest.java | 4 +-
.../solrj/impl/CloudHttp2SolrClientTest.java | 5 +-
.../client/solrj/impl/CloudSolrClientTest.java | 5 +-
.../solr/client/solrj/io/stream/StreamingTest.java | 98 +++++-----
.../io/stream/eval/TemporalEvaluatorsTest.java | 4 +-
.../client/solrj/response/QueryResponseTest.java | 10 +-
.../org/apache/solr/common/SolrDocumentTest.java | 9 +-
.../solr/common/util/TestFastJavabinDecoder.java | 32 ++--
.../apache/solr/BaseDistributedSearchTestCase.java | 7 +-
87 files changed, 676 insertions(+), 612 deletions(-)
diff --git a/dev-tools/solr-missing-doclet/src/main/java/org/apache/lucene/missingdoclet/MissingDoclet.java b/dev-tools/solr-missing-doclet/src/main/java/org/apache/lucene/missingdoclet/MissingDoclet.java
index 53dc033f5f0..36c0e4fe4c8 100644
--- a/dev-tools/solr-missing-doclet/src/main/java/org/apache/lucene/missingdoclet/MissingDoclet.java
+++ b/dev-tools/solr-missing-doclet/src/main/java/org/apache/lucene/missingdoclet/MissingDoclet.java
@@ -21,12 +21,10 @@ import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
-import java.util.Optional;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;
-import javax.lang.model.element.AnnotationMirror;
import javax.lang.model.element.Element;
import javax.lang.model.element.ElementKind;
import javax.lang.model.element.ExecutableElement;
diff --git a/gradle/validation/error-prone.gradle b/gradle/validation/error-prone.gradle
index 9915d892398..1f9bebed27b 100644
--- a/gradle/validation/error-prone.gradle
+++ b/gradle/validation/error-prone.gradle
@@ -78,32 +78,26 @@ allprojects { prj ->
'-Xep:AlreadyChecked:OFF',
'-Xep:AmbiguousMethodReference:OFF',
'-Xep:ArgumentSelectionDefectChecker:OFF',
- '-Xep:ArrayEquals:OFF',
- '-Xep:ArrayHashCode:OFF',
- '-Xep:ArrayToString:OFF',
'-Xep:BadImport:OFF', // style preference that we don't want to enforce
'-Xep:BadInstanceof:OFF',
'-Xep:BadShiftAmount:OFF',
'-Xep:CanIgnoreReturnValueSuggester:OFF',
'-Xep:ClassCanBeStatic:OFF',
- '-Xep:CollectionUndefinedEquality:OFF',
'-Xep:ComplexBooleanConstant:OFF',
'-Xep:DoubleBraceInitialization:OFF',
'-Xep:DoubleCheckedLocking:OFF',
'-Xep:EmptyCatch:OFF',
'-Xep:EqualsGetClass:OFF',
- '-Xep:EqualsIncompatibleType:OFF',
'-Xep:EqualsUnsafeCast:OFF',
'-Xep:EscapedEntity:OFF',
'-Xep:Finally:OFF',
- '-Xep:FormatString:OFF',
'-Xep:FutureReturnValueIgnored:OFF',
'-Xep:HidingField:OFF',
'-Xep:IdentityBinaryExpression:OFF',
'-Xep:IdentityHashMapUsage:OFF',
'-Xep:ImmutableEnumChecker:OFF',
'-Xep:InconsistentCapitalization:OFF',
- '-Xep:InlineFormatString:OFF',
+ '-Xep:InlineFormatString:OFF', // this introduces redundancy in format strings
'-Xep:InputStreamSlowMultibyteRead:OFF',
'-Xep:IntLongMath:OFF',
'-Xep:InvalidBlockTag:OFF',
@@ -139,7 +133,6 @@ allprojects { prj ->
'-Xep:ThreadPriorityCheck:OFF',
'-Xep:TypeParameterShadowing:OFF',
'-Xep:TypeParameterUnusedInFormals:OFF',
- '-Xep:UndefinedEquals:OFF',
'-Xep:UnescapedEntity:OFF',
'-Xep:UnicodeEscape:OFF',
'-Xep:UnnecessaryParentheses:OFF',
diff --git a/solr/core/src/java/org/apache/solr/cloud/overseer/CollectionMutator.java b/solr/core/src/java/org/apache/solr/cloud/overseer/CollectionMutator.java
index 2eb666661b4..6269e7ba329 100644
--- a/solr/core/src/java/org/apache/solr/cloud/overseer/CollectionMutator.java
+++ b/solr/core/src/java/org/apache/solr/cloud/overseer/CollectionMutator.java
@@ -149,7 +149,7 @@ public class CollectionMutator {
}
}
// SOLR-11676 : keep NRT_REPLICAS and REPLICATION_FACTOR in sync
- if (prop == REPLICATION_FACTOR) {
+ if (prop.equals(REPLICATION_FACTOR)) {
props.put(NRT_REPLICAS, message.get(REPLICATION_FACTOR));
}
}
diff --git a/solr/core/src/java/org/apache/solr/handler/ClassifyStream.java b/solr/core/src/java/org/apache/solr/handler/ClassifyStream.java
index c929180baeb..25d6c240a06 100644
--- a/solr/core/src/java/org/apache/solr/handler/ClassifyStream.java
+++ b/solr/core/src/java/org/apache/solr/handler/ClassifyStream.java
@@ -46,15 +46,15 @@ import org.apache.solr.core.SolrCore;
* @since 6.3.0
*/
public class ClassifyStream extends TupleStream implements Expressible {
- private TupleStream docStream;
- private TupleStream modelStream;
+ private final TupleStream docStream;
+ private final TupleStream modelStream;
- private String field;
+ private final String field;
private String analyzerField;
private Tuple modelTuple;
Analyzer analyzer;
- private Map<CharSequence, Integer> termToIndex;
+ private Map<String, Integer> termToIndex;
private List<Double> idfs;
private List<Double> modelWeights;
@@ -79,7 +79,7 @@ public class ClassifyStream extends TupleStream implements Expressible {
throw new IOException(
String.format(
Locale.ROOT,
- "Invalid expression %s - field parameter must be specified",
+ "Invalid expression %s - field parameter must be specified - %s",
expression,
streamExpressions.size()));
}
@@ -95,7 +95,7 @@ public class ClassifyStream extends TupleStream implements Expressible {
@Override
public void setStreamContext(StreamContext context) {
Object solrCoreObj = context.get("solr-core");
- if (solrCoreObj == null || !(solrCoreObj instanceof SolrCore)) {
+ if (!(solrCoreObj instanceof SolrCore)) {
throw new SolrException(
SolrException.ErrorCode.INVALID_STATE,
"StreamContext must have SolrCore in solr-core key");
@@ -153,7 +153,7 @@ public class ClassifyStream extends TupleStream implements Expressible {
String text = docTuple.getString(field);
- double tfs[] = new double[termToIndex.size()];
+ double[] tfs = new double[termToIndex.size()];
TokenStream tokenStream = analyzer.tokenStream(analyzerField, text);
CharTermAttribute termAtt = tokenStream.getAttribute(CharTermAttribute.class);
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/MetricsHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/MetricsHandler.java
index 9ba7bdf4878..7490278ffc8 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/MetricsHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/MetricsHandler.java
@@ -285,7 +285,7 @@ public class MetricsHandler extends RequestHandlerBase implements PermissionName
}
Predicate<CharSequence> propertyFilter = MetricUtils.ALL_PROPERTIES;
if (propertyName != null) {
- propertyFilter = (name) -> name.equals(propertyName);
+ propertyFilter = propertyName::contentEquals;
// use escaped versions
key = parts[0] + ":" + parts[1];
}
@@ -384,7 +384,7 @@ public class MetricsHandler extends RequestHandlerBase implements PermissionName
if (filter.isEmpty()) {
return MetricUtils.ALL_PROPERTIES;
} else {
- return (name) -> filter.contains(name);
+ return (name) -> filter.contains(name.toString());
}
}
diff --git a/solr/core/src/java/org/apache/solr/handler/component/DebugComponent.java b/solr/core/src/java/org/apache/solr/handler/component/DebugComponent.java
index 7212fc309d3..0565290cf06 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/DebugComponent.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/DebugComponent.java
@@ -27,6 +27,7 @@ import java.util.Collections;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import java.util.Set;
import java.util.TreeMap;
import org.apache.lucene.search.Query;
@@ -338,7 +339,7 @@ public class DebugComponent extends SearchComponent {
// optimize case where elements are in same position
if (i < dl.size()) {
String dkey = dl.getName(i);
- if (skey == dkey || (skey != null && skey.equals(dkey))) {
+ if (Objects.equals(skey, dkey)) {
didx = i;
}
}
diff --git a/solr/core/src/java/org/apache/solr/handler/component/QueryComponent.java b/solr/core/src/java/org/apache/solr/handler/component/QueryComponent.java
index 12c3d3f2812..d04a1c3c279 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/QueryComponent.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/QueryComponent.java
@@ -298,9 +298,7 @@ public class QueryComponent extends SearchComponent {
&& (schemaField.getType() instanceof SortableTextField) == false) {
throw new SolrException(
SolrException.ErrorCode.BAD_REQUEST,
- String.format(
- Locale.ROOT,
- "Sorting on a tokenized field that is not a SortableTextField is not supported in cloud mode."));
+ "Sorting on a tokenized field that is not a SortableTextField is not supported in cloud mode.");
}
}
}
diff --git a/solr/core/src/java/org/apache/solr/handler/component/ResponseBuilder.java b/solr/core/src/java/org/apache/solr/handler/component/ResponseBuilder.java
index 43d37af46ae..bb06eac78e1 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/ResponseBuilder.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/ResponseBuilder.java
@@ -21,6 +21,7 @@ import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import java.util.Set;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.TotalHits;
@@ -149,7 +150,7 @@ public class ResponseBuilder {
public int getShardNum(String shard) {
for (int i = 0; i < shards.length; i++) {
- if (shards[i] == shard || shards[i].equals(shard)) return i;
+ if (Objects.equals(shards[i], shard)) return i;
}
return -1;
}
diff --git a/solr/core/src/java/org/apache/solr/handler/component/ShardFieldSortedHitQueue.java b/solr/core/src/java/org/apache/solr/handler/component/ShardFieldSortedHitQueue.java
index 5fec954620c..1a8991a91ee 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/ShardFieldSortedHitQueue.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/ShardFieldSortedHitQueue.java
@@ -23,6 +23,7 @@ import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
+import java.util.Objects;
import org.apache.lucene.search.FieldComparator;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.SortField;
@@ -80,7 +81,7 @@ public class ShardFieldSortedHitQueue extends PriorityQueue<ShardDoc> {
protected boolean lessThan(ShardDoc docA, ShardDoc docB) {
// If these docs are from the same shard, then the relative order
// is how they appeared in the response from that shard.
- if (docA.shard == docB.shard) {
+ if (Objects.equals(docA.shard, docB.shard)) {
// if docA has a smaller position, it should be "larger" so it
// comes before docB.
// This will handle sorting by docid within the same shard
diff --git a/solr/core/src/java/org/apache/solr/highlight/RegexFragmenter.java b/solr/core/src/java/org/apache/solr/highlight/RegexFragmenter.java
index 05a04ea955a..e55923ddb0c 100644
--- a/solr/core/src/java/org/apache/solr/highlight/RegexFragmenter.java
+++ b/solr/core/src/java/org/apache/solr/highlight/RegexFragmenter.java
@@ -16,6 +16,7 @@
*/
package org.apache.solr.highlight;
+import java.util.Objects;
import java.util.regex.Pattern;
import org.apache.lucene.search.highlight.Fragmenter;
import org.apache.lucene.search.highlight.NullFragmenter;
@@ -75,7 +76,8 @@ public class RegexFragmenter extends HighlightingPluginBase implements SolrFragm
params.getFieldParam(
fieldName, HighlightParams.PATTERN, LuceneRegexFragmenter.DEFAULT_PATTERN_RAW);
- Pattern p = rawpat == defaultPatternRaw ? defaultPattern : Pattern.compile(rawpat);
+ Pattern p =
+ Objects.equals(rawpat, defaultPatternRaw) ? defaultPattern : Pattern.compile(rawpat);
if (fragsize <= 0) {
return new NullFragmenter();
diff --git a/solr/core/src/java/org/apache/solr/request/SimpleFacets.java b/solr/core/src/java/org/apache/solr/request/SimpleFacets.java
index 90499b66368..7a1ce68a872 100644
--- a/solr/core/src/java/org/apache/solr/request/SimpleFacets.java
+++ b/solr/core/src/java/org/apache/solr/request/SimpleFacets.java
@@ -29,6 +29,7 @@ import java.util.HashSet;
import java.util.IdentityHashMap;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import java.util.Set;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
@@ -188,7 +189,7 @@ public class SimpleFacets {
SolrParams required = new RequiredSolrParams(params);
// remove local params unless it's a query
- if (type != FacetParams.FACET_QUERY) { // TODO Cut over to an Enum here
+ if (!Objects.equals(type, FacetParams.FACET_QUERY)) { // TODO Cut over to an Enum here
facetValue = localParams.get(CommonParams.VALUE);
}
diff --git a/solr/core/src/java/org/apache/solr/request/macro/MacroExpander.java b/solr/core/src/java/org/apache/solr/request/macro/MacroExpander.java
index d781f6aac9e..f334c234e3f 100644
--- a/solr/core/src/java/org/apache/solr/request/macro/MacroExpander.java
+++ b/solr/core/src/java/org/apache/solr/request/macro/MacroExpander.java
@@ -20,6 +20,7 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import org.apache.solr.common.SolrException;
import org.apache.solr.search.StrParser;
import org.apache.solr.search.SyntaxError;
@@ -65,11 +66,11 @@ public class MacroExpander {
List<String> newValues = null;
for (String v : values) {
String newV = expand(v);
- if (newV != v) {
+ if (!Objects.equals(newV, v)) {
if (newValues == null) {
newValues = new ArrayList<>(values.length);
for (String vv : values) {
- if (vv == v) break;
+ if (Objects.equals(vv, v)) break;
newValues.add(vv);
}
}
@@ -80,11 +81,11 @@ public class MacroExpander {
}
if (newValues != null) {
- values = newValues.toArray(new String[newValues.size()]);
+ values = newValues.toArray(new String[0]);
changed = true;
}
- if (k != newK) {
+ if (!Objects.equals(k, newK)) {
changed = true;
}
diff --git a/solr/core/src/java/org/apache/solr/response/transform/ChildDocTransformer.java b/solr/core/src/java/org/apache/solr/response/transform/ChildDocTransformer.java
index e46811169a5..55d58cce1fc 100644
--- a/solr/core/src/java/org/apache/solr/response/transform/ChildDocTransformer.java
+++ b/solr/core/src/java/org/apache/solr/response/transform/ChildDocTransformer.java
@@ -276,7 +276,7 @@ class ChildDocTransformer extends DocTransformer {
String trimmedPath = trimLastPound(cDocsPath);
// if the child doc's path does not end with #, it is an array(same string is returned by
// ChildDocTransformer#trimLastPound)
- if (!parent.containsKey(trimmedPath) && (trimmedPath == cDocsPath)) {
+ if (!parent.containsKey(trimmedPath) && (trimmedPath.equals(cDocsPath))) {
List<SolrDocument> list = new ArrayList<>(children);
parent.setField(trimmedPath, list);
return;
diff --git a/solr/core/src/java/org/apache/solr/search/facet/LegacyFacet.java b/solr/core/src/java/org/apache/solr/search/facet/LegacyFacet.java
index 7ba90fc36d7..dad1e04c3a3 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/LegacyFacet.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/LegacyFacet.java
@@ -25,6 +25,7 @@ import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.params.FacetParams;
@@ -296,7 +297,7 @@ public class LegacyFacet {
required = new RequiredSolrParams(params);
// remove local params unless it's a query
- if (type != FacetParams.FACET_QUERY) {
+ if (!Objects.equals(type, FacetParams.FACET_QUERY)) {
facetValue = localParams.get(CommonParams.VALUE);
}
diff --git a/solr/core/src/java/org/apache/solr/search/facet/StrAggValueSource.java b/solr/core/src/java/org/apache/solr/search/facet/StrAggValueSource.java
index c721f87add5..223cfed5473 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/StrAggValueSource.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/StrAggValueSource.java
@@ -16,6 +16,8 @@
*/
package org.apache.solr.search.facet;
+import java.util.Objects;
+
public abstract class StrAggValueSource extends AggValueSource {
protected String arg;
@@ -32,8 +34,7 @@ public abstract class StrAggValueSource extends AggValueSource {
public boolean equals(Object o) {
if (!super.equals(o)) return false;
String otherArg = ((StrAggValueSource) o).arg;
- if (arg == otherArg) return true;
- return (arg != null && arg.equals(otherArg));
+ return Objects.equals(arg, otherArg);
}
@Override
diff --git a/solr/core/src/java/org/apache/solr/search/function/distance/StringDistanceFunction.java b/solr/core/src/java/org/apache/solr/search/function/distance/StringDistanceFunction.java
index 940f7020711..9b47d261c2b 100644
--- a/solr/core/src/java/org/apache/solr/search/function/distance/StringDistanceFunction.java
+++ b/solr/core/src/java/org/apache/solr/search/function/distance/StringDistanceFunction.java
@@ -18,6 +18,7 @@ package org.apache.solr.search.function.distance;
import java.io.IOException;
import java.util.Map;
+import java.util.Objects;
import org.apache.lucene.index.LeafReaderContext;
import org.apache.lucene.queries.function.FunctionValues;
import org.apache.lucene.queries.function.ValueSource;
@@ -48,7 +49,7 @@ public class StringDistanceFunction extends ValueSource {
String s2 = str2DV.strVal(doc);
if (null == s1 || null == s2) {
// the only thing a missing value scores 1.0 with is another missing value
- return (s1 == s2) ? 1.0F : 0.0F;
+ return (Objects.equals(s1, s2)) ? 1.0F : 0.0F;
}
return dist.getDistance(s1, s2);
}
diff --git a/solr/core/src/java/org/apache/solr/update/processor/AtomicUpdateDocumentMerger.java b/solr/core/src/java/org/apache/solr/update/processor/AtomicUpdateDocumentMerger.java
index 23a105fb477..c29d271bd85 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/AtomicUpdateDocumentMerger.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/AtomicUpdateDocumentMerger.java
@@ -801,7 +801,9 @@ public class AtomicUpdateDocumentMerger {
val.equals(rawValue)
|| val.equals(nativeValue)
|| (val instanceof String
- && DateMathParser.parseMath(null, (String) val).equals(nativeValue)))
+ && DateMathParser.parseMath(null, (String) val)
+ .toInstant()
+ .equals(((Date) nativeValue).toInstant())))
.findFirst();
} else if (original.contains(nativeValue)) {
return Optional.of(nativeValue);
diff --git a/solr/core/src/java/org/apache/solr/update/processor/URLClassifyProcessor.java b/solr/core/src/java/org/apache/solr/update/processor/URLClassifyProcessor.java
index a46d11efa31..f26450442e4 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/URLClassifyProcessor.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/URLClassifyProcessor.java
@@ -23,6 +23,7 @@ import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
import java.util.Locale;
+import java.util.Objects;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.request.SolrQueryRequest;
@@ -250,7 +251,7 @@ public class URLClassifyProcessor extends UpdateRequestProcessor {
if (url.getQuery() != null) {
return false;
} else {
- return landingPageSuffix(url) != "";
+ return !Objects.equals(landingPageSuffix(url), "");
}
}
diff --git a/solr/core/src/test/org/apache/solr/TestGroupingSearch.java b/solr/core/src/test/org/apache/solr/TestGroupingSearch.java
index a6c1f5151a6..9c54fbca86d 100644
--- a/solr/core/src/test/org/apache/solr/TestGroupingSearch.java
+++ b/solr/core/src/test/org/apache/solr/TestGroupingSearch.java
@@ -28,6 +28,7 @@ import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import java.util.TreeMap;
import org.apache.solr.client.solrj.impl.BinaryResponseParser;
import org.apache.solr.common.SolrException;
@@ -1681,7 +1682,7 @@ public class TestGroupingSearch extends SolrTestCaseJ4 {
// since groupSortStr defaults to sortStr, we need to normalize null to "score desc" if
// sortStr != null.
- if (groupSortStr == null && groupSortStr != sortStr) {
+ if (groupSortStr == null && !Objects.equals(groupSortStr, sortStr)) {
groupSortStr = "score desc";
}
@@ -1786,7 +1787,9 @@ public class TestGroupingSearch extends SolrTestCaseJ4 {
"fl",
// only docValued fields are not returned by default
"*,score_ff,foo_ii,foo_bdv," + FOO_STRING_DOCVAL_FIELD,
- (groupSortStr == null || groupSortStr == sortStr) ? "noGroupsort" : "group.sort",
+ (groupSortStr == null || groupSortStr.equals(sortStr))
+ ? "noGroupsort"
+ : "group.sort",
groupSortStr == null ? "" : groupSortStr,
"rows",
"" + rows,
diff --git a/solr/core/src/test/org/apache/solr/cloud/OverseerCollectionConfigSetProcessorTest.java b/solr/core/src/test/org/apache/solr/cloud/OverseerCollectionConfigSetProcessorTest.java
index cf10c16406f..f90e3805405 100644
--- a/solr/core/src/test/org/apache/solr/cloud/OverseerCollectionConfigSetProcessorTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/OverseerCollectionConfigSetProcessorTest.java
@@ -639,7 +639,8 @@ public class OverseerCollectionConfigSetProcessorTest extends SolrTestCaseJ4 {
Mockito.doAnswer(
new Answer<Void>() {
public Void answer(InvocationOnMock invocation) {
- System.out.println("set data: " + invocation.getArgument(0) + " " + new byte[0]);
+ System.out.println(
+ "set data: " + invocation.getArgument(0) + " " + Arrays.toString(new byte[0]));
zkClientData.put(invocation.getArgument(0), new byte[0]);
return null;
}
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestRandomFlRTGCloud.java b/solr/core/src/test/org/apache/solr/cloud/TestRandomFlRTGCloud.java
index b763a353828..de240a55f32 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestRandomFlRTGCloud.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestRandomFlRTGCloud.java
@@ -350,7 +350,9 @@ public class TestRandomFlRTGCloud extends SolrCloudTestCase {
knownDocs[docId] = null;
}
assertEquals(
- "Failed delete: " + docIds, 0, getRandClient(random()).deleteById(ids).getStatus());
+ "Failed delete: " + Arrays.toString(docIds),
+ 0,
+ getRandClient(random()).deleteById(ids).getStatus());
}
/**
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestStressInPlaceUpdates.java b/solr/core/src/test/org/apache/solr/cloud/TestStressInPlaceUpdates.java
index bf862c84fcf..760f3e58097 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestStressInPlaceUpdates.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestStressInPlaceUpdates.java
@@ -485,7 +485,7 @@ public class TestStressInPlaceUpdates extends AbstractFullDistribZkTestBase {
} else {
fail(
String.format(
- Locale.ENGLISH, "There were more than one result: {}", response));
+ Locale.ENGLISH, "There were more than one result: %s", response));
}
}
} catch (Throwable e) {
diff --git a/solr/core/src/test/org/apache/solr/handler/JsonLoaderTest.java b/solr/core/src/test/org/apache/solr/handler/JsonLoaderTest.java
index 1ab59e931c8..ca4067c6ebe 100644
--- a/solr/core/src/test/org/apache/solr/handler/JsonLoaderTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/JsonLoaderTest.java
@@ -16,7 +16,6 @@
*/
package org.apache.solr.handler;
-import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.function.UnaryOperator;
@@ -453,7 +452,7 @@ public class JsonLoaderTest extends SolrTestCaseJ4 {
}
private static void assertOnlyValue(String expected, SolrInputDocument doc, String field) {
- assertEquals(Collections.singletonList(expected), doc.getFieldValues(field));
+ assertEquals(List.of(expected), List.copyOf(doc.getFieldValues(field)));
}
public void testAtomicUpdateFieldValue() throws Exception {
diff --git a/solr/core/src/test/org/apache/solr/handler/component/DistributedFacetPivotSmallTest.java b/solr/core/src/test/org/apache/solr/handler/component/DistributedFacetPivotSmallTest.java
index 1a384959187..ed9faa912fd 100644
--- a/solr/core/src/test/org/apache/solr/handler/component/DistributedFacetPivotSmallTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/component/DistributedFacetPivotSmallTest.java
@@ -23,6 +23,7 @@ import java.util.Date;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import junit.framework.AssertionFailedError;
import org.apache.solr.BaseDistributedSearchTestCase;
import org.apache.solr.client.solrj.response.FieldStatsInfo;
@@ -2402,7 +2403,7 @@ public class DistributedFacetPivotSmallTest extends BaseDistributedSearchTestCas
private void assertNullFacetTypeInsidePivot(String facetType, List<PivotField> pivots) {
for (PivotField pivot : pivots) {
- if (facetType == FacetParams.FACET_QUERY) {
+ if (Objects.equals(facetType, FacetParams.FACET_QUERY)) {
assertNull(
"pivot="
+ pivot
@@ -2411,7 +2412,7 @@ public class DistributedFacetPivotSmallTest extends BaseDistributedSearchTestCas
+ " should've been null. Found: "
+ pivot.getFacetQuery(),
pivot.getFacetQuery());
- } else if (facetType == FacetParams.FACET_RANGE) {
+ } else if (Objects.equals(facetType, FacetParams.FACET_RANGE)) {
assertNull(
"pivot="
+ pivot
diff --git a/solr/core/src/test/org/apache/solr/handler/component/PhrasesIdentificationComponentTest.java b/solr/core/src/test/org/apache/solr/handler/component/PhrasesIdentificationComponentTest.java
index 36ddadf34d5..0f259ca5383 100644
--- a/solr/core/src/test/org/apache/solr/handler/component/PhrasesIdentificationComponentTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/component/PhrasesIdentificationComponentTest.java
@@ -98,7 +98,7 @@ public class PhrasesIdentificationComponentTest extends SolrTestCaseJ4 {
final Phrase lazy = phrases.get(phrases.size() - 1 - 2);
final String debug = lazy.toString();
- assertEquals(debug, "lAZy", lazy.getSubSequence());
+ assertEquals(debug, "lAZy", lazy.getSubSequence().toString());
assertEquals(debug, 10, lazy.getPositionStart());
assertEquals(debug, 11, lazy.getPositionEnd());
assertEquals(debug, 1, lazy.getPositionLength());
@@ -116,7 +116,7 @@ public class PhrasesIdentificationComponentTest extends SolrTestCaseJ4 {
final Phrase brown_fox = phrases.get((7 * 3) + 1);
final String debug = brown_fox.toString();
- assertEquals(debug, "brown FOX", brown_fox.getSubSequence());
+ assertEquals(debug, "brown FOX", brown_fox.getSubSequence().toString());
assertEquals(debug, 4, brown_fox.getPositionStart());
assertEquals(debug, 6, brown_fox.getPositionEnd());
assertEquals(debug, 2, brown_fox.getPositionLength());
@@ -133,7 +133,7 @@ public class PhrasesIdentificationComponentTest extends SolrTestCaseJ4 {
final Phrase daq = phrases.get(2);
final String debug = daq.toString();
- assertEquals(debug, "did a Quick", daq.getSubSequence());
+ assertEquals(debug, "did a Quick", daq.getSubSequence().toString());
assertEquals(debug, 1, daq.getPositionStart());
assertEquals(debug, 4, daq.getPositionEnd());
assertEquals(debug, 3, daq.getPositionLength());
@@ -150,7 +150,7 @@ public class PhrasesIdentificationComponentTest extends SolrTestCaseJ4 {
final Phrase qbfp = phrases.get((7 * 2) + 3);
final String debug = qbfp.toString();
- assertEquals(debug, "Quick brown FOX perniciously", qbfp.getSubSequence());
+ assertEquals(debug, "Quick brown FOX perniciously", qbfp.getSubSequence().toString());
assertEquals(debug, 3, qbfp.getPositionStart());
assertEquals(debug, 7, qbfp.getPositionEnd());
assertEquals(debug, 4, qbfp.getPositionLength());
@@ -191,7 +191,7 @@ public class PhrasesIdentificationComponentTest extends SolrTestCaseJ4 {
final Phrase brown_fox = phrases.get(1);
final String debug = brown_fox.toString();
- assertEquals(debug, "brown FOX", brown_fox.getSubSequence());
+ assertEquals(debug, "brown FOX", brown_fox.getSubSequence().toString());
assertEquals(debug, 1, brown_fox.getPositionStart());
assertEquals(debug, 3, brown_fox.getPositionEnd());
assertEquals(debug, 2, brown_fox.getPositionLength());
@@ -208,7 +208,7 @@ public class PhrasesIdentificationComponentTest extends SolrTestCaseJ4 {
final Phrase fox = phrases.get(2);
final String debug = fox.toString();
- assertEquals(debug, "FOX", fox.getSubSequence());
+ assertEquals(debug, "FOX", fox.getSubSequence().toString());
assertEquals(debug, 2, fox.getPositionStart());
assertEquals(debug, 3, fox.getPositionEnd());
assertEquals(debug, 1, fox.getPositionLength());
@@ -345,7 +345,7 @@ public class PhrasesIdentificationComponentTest extends SolrTestCaseJ4 {
BiConsumer<Integer, List<Phrase>> assertions =
(mult, phrases) -> {
final Phrase brown_fox = phrases.get(1);
- assertEquals("BROWN fox", brown_fox.getSubSequence());
+ assertEquals("BROWN fox", brown_fox.getSubSequence().toString());
assertEquals(mult * 1, brown_fox.getTTF("multigrams_title"));
assertEquals(mult * 1, brown_fox.getDocFreq("multigrams_title"));
@@ -356,7 +356,7 @@ public class PhrasesIdentificationComponentTest extends SolrTestCaseJ4 {
assertEquals(mult * 2, brown_fox.getConjunctionDocCount("multigrams_body"));
final Phrase fox_lazy = phrases.get(6);
- assertEquals("fox lAzY", fox_lazy.getSubSequence());
+ assertEquals("fox lAzY", fox_lazy.getSubSequence().toString());
assertEquals(mult * 0, fox_lazy.getTTF("multigrams_title"));
assertEquals(mult * 0, fox_lazy.getDocFreq("multigrams_title"));
@@ -367,7 +367,7 @@ public class PhrasesIdentificationComponentTest extends SolrTestCaseJ4 {
assertEquals(mult * 2, fox_lazy.getConjunctionDocCount("multigrams_body"));
final Phrase bfld = phrases.get(3);
- assertEquals("BROWN fox lAzY dog", bfld.getSubSequence());
+ assertEquals("BROWN fox lAzY dog", bfld.getSubSequence().toString());
expectThrows(
SolrException.class,
@@ -395,7 +395,7 @@ public class PhrasesIdentificationComponentTest extends SolrTestCaseJ4 {
final Phrase xyz = phrases.get(phrases.size() - 1);
- assertEquals("xxxyyyzzz", xyz.getSubSequence());
+ assertEquals("xxxyyyzzz", xyz.getSubSequence().toString());
assertEquals(mult * 0, xyz.getTTF("multigrams_title"));
assertEquals(mult * 0, xyz.getDocFreq("multigrams_title"));
assertEquals(mult * 0, xyz.getConjunctionDocCount("multigrams_title"));
@@ -468,7 +468,7 @@ public class PhrasesIdentificationComponentTest extends SolrTestCaseJ4 {
// "brown fox" should score positively in both fields, and overall...
final Phrase brown_fox = phrases.get(8);
- assertEquals("BROWN fox", brown_fox.getSubSequence());
+ assertEquals("BROWN fox", brown_fox.getSubSequence().toString());
assertThat(
brown_fox.toString(), brown_fox.getFieldScore("multigrams_title"), greaterThan(0.0D));
assertThat(brown_fox.toString(), brown_fox.getFieldScore("multigrams_body"), greaterThan(0.0D));
@@ -478,7 +478,7 @@ public class PhrasesIdentificationComponentTest extends SolrTestCaseJ4 {
// are used in other contexts, and should score -1 against body -- but because of our weights,
// that shouldn't bring down the total
final Phrase we_lazy = phrases.get(phrases.size() - 2);
- assertEquals("we lAzY", we_lazy.getSubSequence());
+ assertEquals("we lAzY", we_lazy.getSubSequence().toString());
assertEquals(we_lazy.toString(), -1.0D, we_lazy.getFieldScore("multigrams_body"), 0.0D);
assertThat(we_lazy.toString(), we_lazy.getFieldScore("multigrams_title"), lessThan(0.0D));
@@ -493,7 +493,7 @@ public class PhrasesIdentificationComponentTest extends SolrTestCaseJ4 {
// value it should score -1 against body -- but because of our weights, that shouldn't bring
// down the total
final Phrase wawl = phrases.get(phrases.size() - 7);
- assertEquals("why are we lAzY", wawl.getSubSequence());
+ assertEquals("why are we lAzY", wawl.getSubSequence().toString());
assertEquals(wawl.toString(), -1.0D, wawl.getFieldScore("multigrams_body"), 0.0D);
assertThat(wawl.toString(), wawl.getFieldScore("multigrams_title"), greaterThan(0.0D));
assertThat(wawl.toString(), wawl.getTotalScore(), greaterThan(0.0D));
@@ -503,7 +503,7 @@ public class PhrasesIdentificationComponentTest extends SolrTestCaseJ4 {
// "brown fox why are we" is longer then the max indexed phrase, and none of it's
// (longest) sub phrases exists in either field -- so all of its scores should be -1
final Phrase bfwaw = phrases.get(11);
- assertEquals("BROWN fox why are we", bfwaw.getSubSequence());
+ assertEquals("BROWN fox why are we", bfwaw.getSubSequence().toString());
assertEquals(bfwaw.toString(), -1.0D, bfwaw.getFieldScore("multigrams_title"), 0.0D);
assertEquals(bfwaw.toString(), -1.0D, bfwaw.getFieldScore("multigrams_body"), 0.0D);
assertEquals(bfwaw.toString(), -1.0D, bfwaw.getTotalScore(), 0.0D);
@@ -529,7 +529,7 @@ public class PhrasesIdentificationComponentTest extends SolrTestCaseJ4 {
// phrases that span the stop word should have valid scores from the field that doesn't care
// about stop words, but the stopword field should reject them
final Phrase why_the_lazy = phrases.get(2);
- assertEquals("why the lazy", why_the_lazy.getSubSequence());
+ assertEquals("why the lazy", why_the_lazy.getSubSequence().toString());
assertThat(
why_the_lazy.toString(),
why_the_lazy.getFieldScore("multigrams_title"),
@@ -541,7 +541,7 @@ public class PhrasesIdentificationComponentTest extends SolrTestCaseJ4 {
0.0D);
final Phrase the_lazy_dog = phrases.get(8);
- assertEquals("the lazy dog", the_lazy_dog.getSubSequence());
+ assertEquals("the lazy dog", the_lazy_dog.getSubSequence().toString());
assertThat(
the_lazy_dog.toString(),
the_lazy_dog.getFieldScore("multigrams_title"),
@@ -555,7 +555,7 @@ public class PhrasesIdentificationComponentTest extends SolrTestCaseJ4 {
// sanity check that good scores are still possible with stopwords
// "brown fox" should score positively in both fields, and overall...
final Phrase brown_fox = phrases.get(phrases.size() - 2);
- assertEquals("brown fox", brown_fox.getSubSequence());
+ assertEquals("brown fox", brown_fox.getSubSequence().toString());
assertThat(
brown_fox.toString(), brown_fox.getFieldScore("multigrams_title"), greaterThan(0.0D));
assertThat(
@@ -593,7 +593,7 @@ public class PhrasesIdentificationComponentTest extends SolrTestCaseJ4 {
// sanity check that good scores are still possible with stopwords
// "brown fox" should score positively in both fields, and overall...
final Phrase brown_fox = phrases.get(phrases.size() - 2);
- assertEquals("brown fox", brown_fox.getSubSequence());
+ assertEquals("brown fox", brown_fox.getSubSequence().toString());
assertThat(
brown_fox.toString(), brown_fox.getFieldScore("multigrams_title"), greaterThan(0.0D));
assertThat(
diff --git a/solr/core/src/test/org/apache/solr/request/SimpleFacetsTest.java b/solr/core/src/test/org/apache/solr/request/SimpleFacetsTest.java
index 2a95766a5c6..505fc793ec9 100644
--- a/solr/core/src/test/org/apache/solr/request/SimpleFacetsTest.java
+++ b/solr/core/src/test/org/apache/solr/request/SimpleFacetsTest.java
@@ -4914,7 +4914,7 @@ public class SimpleFacetsTest extends SolrTestCaseJ4 {
(random().nextDouble()
* (new Date().getTime())
* (random().nextBoolean() ? -1 : 1)));
- } while (dates[0].equals(dates[1]));
+ } while (dates[0].toInstant().equals(dates[1].toInstant()));
Arrays.sort(dates);
long dateDiff = (dates[1].getTime() - dates[0].getTime()) / 1000;
String gapUnit;
diff --git a/solr/core/src/test/org/apache/solr/request/TestWriterPerf.java b/solr/core/src/test/org/apache/solr/request/TestWriterPerf.java
index c8e7a05ce0b..95ddfb1c459 100644
--- a/solr/core/src/test/org/apache/solr/request/TestWriterPerf.java
+++ b/solr/core/src/test/org/apache/solr/request/TestWriterPerf.java
@@ -202,9 +202,9 @@ public class TestWriterPerf extends SolrTestCaseJ4 {
writerName = writerName.intern();
for (int i = 0; i < decIter; i++) {
ResponseParser rp = null;
- if (writerName == "xml") {
+ if (writerName.equals("xml")) {
rp = new XMLResponseParser();
- } else if (writerName == "javabin") {
+ } else if (writerName.equals("javabin")) {
rp = new BinaryResponseParser();
} else {
break;
diff --git a/solr/core/src/test/org/apache/solr/response/JSONWriterTest.java b/solr/core/src/test/org/apache/solr/response/JSONWriterTest.java
index 289db6721ac..9fcdcea4e5f 100644
--- a/solr/core/src/test/org/apache/solr/response/JSONWriterTest.java
+++ b/solr/core/src/test/org/apache/solr/response/JSONWriterTest.java
@@ -24,6 +24,7 @@ import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
+import java.util.Objects;
import org.apache.solr.JSONTestUtil;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.common.SolrDocument;
@@ -111,15 +112,15 @@ public class JSONWriterTest extends SolrTestCaseJ4 {
w.write(buf, req, rsp);
final String expectedNLjson;
- if (namedListStyle == JSONWriter.JSON_NL_FLAT) {
+ if (Objects.equals(namedListStyle, JSONWriter.JSON_NL_FLAT)) {
expectedNLjson = "\"nl\":[\"data1\",\"he\\u2028llo\\u2029!\",null,42,null,null]";
- } else if (namedListStyle == JSONWriter.JSON_NL_MAP) {
+ } else if (Objects.equals(namedListStyle, JSONWriter.JSON_NL_MAP)) {
expectedNLjson = "\"nl\":{\"data1\":\"he\\u2028llo\\u2029!\",\"\":42,\"\":null}";
- } else if (namedListStyle == JSONWriter.JSON_NL_ARROFARR) {
+ } else if (Objects.equals(namedListStyle, JSONWriter.JSON_NL_ARROFARR)) {
expectedNLjson = "\"nl\":[[\"data1\",\"he\\u2028llo\\u2029!\"],[null,42],[null,null]]";
- } else if (namedListStyle == JSONWriter.JSON_NL_ARROFMAP) {
+ } else if (Objects.equals(namedListStyle, JSONWriter.JSON_NL_ARROFMAP)) {
expectedNLjson = "\"nl\":[{\"data1\":\"he\\u2028llo\\u2029!\"},42,null]";
- } else if (namedListStyle == JSONWriter.JSON_NL_ARROFNTV) {
+ } else if (Objects.equals(namedListStyle, JSONWriter.JSON_NL_ARROFNTV)) {
expectedNLjson =
"\"nl\":[{\"name\":\"data1\",\"type\":\"str\",\"value\":\"he\\u2028llo\\u2029!\"},"
+ "{\"name\":null,\"type\":\"int\",\"value\":42},"
diff --git a/solr/core/src/test/org/apache/solr/response/TestSolrQueryResponse.java b/solr/core/src/test/org/apache/solr/response/TestSolrQueryResponse.java
index 9483acfd8f4..060a6f9b320 100644
--- a/solr/core/src/test/org/apache/solr/response/TestSolrQueryResponse.java
+++ b/solr/core/src/test/org/apache/solr/response/TestSolrQueryResponse.java
@@ -17,8 +17,8 @@
package org.apache.solr.response;
import java.io.IOException;
-import java.util.Arrays;
import java.util.Iterator;
+import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import org.apache.solr.SolrTestCase;
@@ -251,15 +251,14 @@ public class TestSolrQueryResponse extends SolrTestCase {
assertFalse(it.hasNext());
response.addHttpHeader("key1", "value1");
assertTrue(response.httpHeaders().hasNext());
- assertEquals(Arrays.asList("value1"), response.removeHttpHeaders("key1"));
+ assertEquals(List.of("value1"), List.copyOf(response.removeHttpHeaders("key1")));
assertFalse(response.httpHeaders().hasNext());
response.addHttpHeader("key1", "value2");
response.addHttpHeader("key1", "value3");
response.addHttpHeader("key2", "value4");
assertTrue(response.httpHeaders().hasNext());
- assertEquals(
- Arrays.asList(new String[] {"value2", "value3"}), response.removeHttpHeaders("key1"));
+ assertEquals(List.of("value2", "value3"), List.copyOf(response.removeHttpHeaders("key1")));
assertNull(response.removeHttpHeaders("key1"));
assertEquals("key2", response.httpHeaders().next().getKey());
}
@@ -267,7 +266,7 @@ public class TestSolrQueryResponse extends SolrTestCase {
@Test
public void testException() {
final SolrQueryResponse response = new SolrQueryResponse();
- assertEquals("exception initial value", null, response.getException());
+ assertNull("exception initial value", response.getException());
final Exception newValue =
(random().nextBoolean()
? (random().nextBoolean() ? new ArithmeticException() : new IOException())
diff --git a/solr/core/src/test/org/apache/solr/search/DocSetPerf.java b/solr/core/src/test/org/apache/solr/search/DocSetPerf.java
index cf15b171232..22969082bed 100644
--- a/solr/core/src/test/org/apache/solr/search/DocSetPerf.java
+++ b/solr/core/src/test/org/apache/solr/search/DocSetPerf.java
@@ -123,10 +123,10 @@ public class DocSetPerf {
int idx2 = rand.nextInt(numSets);
DocSet a = null, b = null;
- if (type == "B") {
+ if (type.equals("B")) {
a = bset[idx1];
b = bset[idx2];
- } else if (type == "M") {
+ } else if (type.equals("M")) {
if (idx1 < idx2) {
a = bset[idx1];
} else {
@@ -134,12 +134,12 @@ public class DocSetPerf {
}
}
- if (oper == "intersect") {
+ if (oper.equals("intersect")) {
DocSet res = a.intersection(b);
ret += res.ramBytesUsed();
- } else if (oper == "intersectSize") {
+ } else if (oper.equals("intersectSize")) {
ret += a.intersectionSize(b);
- } else if (oper == "intersectAndSize") {
+ } else if (oper.equals("intersectAndSize")) {
DocSet res = a.intersection(b);
ret += res.size();
}
diff --git a/solr/core/src/test/org/apache/solr/search/LargeFieldTest.java b/solr/core/src/test/org/apache/solr/search/LargeFieldTest.java
index 59bb554e256..d85be338a50 100644
--- a/solr/core/src/test/org/apache/solr/search/LargeFieldTest.java
+++ b/solr/core/src/test/org/apache/solr/search/LargeFieldTest.java
@@ -19,6 +19,7 @@ package org.apache.solr.search;
import java.util.Arrays;
import java.util.Collections;
+import java.util.Objects;
import org.apache.lucene.document.Document;
import org.apache.lucene.index.IndexableField;
import org.apache.lucene.misc.document.LazyDocument;
@@ -116,7 +117,7 @@ public class LargeFieldTest extends SolrTestCaseJ4 {
private void assertLazyNotLoaded(Document d, String fieldName) {
IndexableField field = d.getField(fieldName);
- if (fieldName == BIG_FIELD) {
+ if (Objects.equals(fieldName, BIG_FIELD)) {
assertTrue(field instanceof SolrDocumentFetcher.LargeLazyField);
assertFalse(((SolrDocumentFetcher.LargeLazyField) field).hasBeenLoaded());
} else {
@@ -127,7 +128,7 @@ public class LargeFieldTest extends SolrTestCaseJ4 {
private void assertLazyLoaded(Document d, String fieldName) {
IndexableField field = d.getField(fieldName);
- if (fieldName == BIG_FIELD) {
+ if (Objects.equals(fieldName, BIG_FIELD)) {
assertTrue(field instanceof SolrDocumentFetcher.LargeLazyField);
assertTrue(((SolrDocumentFetcher.LargeLazyField) field).hasBeenLoaded());
} else {
diff --git a/solr/core/src/test/org/apache/solr/search/ReturnFieldsTest.java b/solr/core/src/test/org/apache/solr/search/ReturnFieldsTest.java
index a68b5b332be..568095d5421 100644
--- a/solr/core/src/test/org/apache/solr/search/ReturnFieldsTest.java
+++ b/solr/core/src/test/org/apache/solr/search/ReturnFieldsTest.java
@@ -21,11 +21,10 @@ import static org.apache.solr.response.DocsStreamer.convertLuceneDocToSolrDoc;
import java.lang.reflect.Method;
import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashSet;
import java.util.List;
import java.util.Locale;
import java.util.Random;
+import java.util.Set;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.StringField;
import org.apache.lucene.tests.util.TestUtil;
@@ -96,7 +95,7 @@ public class ReturnFieldsTest extends SolrTestCaseJ4 {
public void testToString() {
for (Method m : SolrReturnFields.class.getMethods()) {
if (m.getName().equals("toString")) {
- assertTrue(m + " is not overridden ! ", m.getDeclaringClass() == SolrReturnFields.class);
+ assertSame(m + " is not overridden ! ", m.getDeclaringClass(), SolrReturnFields.class);
break;
}
}
@@ -424,7 +423,7 @@ public class ReturnFieldsTest extends SolrTestCaseJ4 {
// output should only have a single field
docOut = convertLuceneDocToSolrDoc(docIn, schema, new SolrReturnFields(req("fl", "id")));
assertEquals(docOut.toString(), 1, docOut.size());
- assertEquals(docOut.toString(), Collections.singleton("id"), docOut.getFieldNames());
+ assertEquals(docOut.toString(), List.of("id"), List.copyOf(docOut.getFieldNames()));
assertTrue(docOut.toString(), docOut.get("id") instanceof StringField);
// output should only have the few specified fields
@@ -440,8 +439,8 @@ public class ReturnFieldsTest extends SolrTestCaseJ4 {
assertEquals(debug, 5, docOut.size());
assertEquals(
debug,
- new HashSet<>(Arrays.asList("id", "subword", "uniq", "foo_2_s1", "store")),
- docOut.getFieldNames());
+ Set.of("id", "subword", "uniq", "foo_2_s1", "store"),
+ Set.copyOf(docOut.getFieldNames()));
assertTrue(debug, docOut.get("id") instanceof StringField);
assertTrue(debug, docOut.get("store") instanceof StringField);
assertTrue(debug, docOut.get("foo_2_s1") instanceof StringField);
diff --git a/solr/core/src/test/org/apache/solr/search/TestIndexSearcher.java b/solr/core/src/test/org/apache/solr/search/TestIndexSearcher.java
index bfc84c71b95..d44daee769f 100644
--- a/solr/core/src/test/org/apache/solr/search/TestIndexSearcher.java
+++ b/solr/core/src/test/org/apache/solr/search/TestIndexSearcher.java
@@ -148,8 +148,8 @@ public class TestIndexSearcher extends SolrTestCaseJ4 {
"nothing changed, searcher should be the same", sr3.getSearcher(), sr4.getSearcher());
assertEquals(
"nothing changed, searcher should not have been re-registered",
- sr3SearcherRegAt,
- g.getValue());
+ sr3SearcherRegAt.toInstant(),
+ g.getValue().toInstant());
IndexReader r4 = sr4.getSearcher().getRawReader();
// force an index change so the registered searcher won't be the one we are testing (and
diff --git a/solr/core/src/test/org/apache/solr/search/TestQueryTypes.java b/solr/core/src/test/org/apache/solr/search/TestQueryTypes.java
index 4e077bfab5b..5c0511da18e 100644
--- a/solr/core/src/test/org/apache/solr/search/TestQueryTypes.java
+++ b/solr/core/src/test/org/apache/solr/search/TestQueryTypes.java
@@ -108,8 +108,8 @@ public class TestQueryTypes extends SolrTestCaseJ4 {
// terms qparser
// wrap in spaces sometimes if space separated
final String separator =
- f == "v_s" ? "" : "separator=' '"; // use space separated when field isn't v_s
- String vMod = separator != "" && random().nextBoolean() ? " " + v + " " : v;
+ f.equals("v_s") ? "" : "separator=' '"; // use space separated when field isn't v_s
+ String vMod = !separator.equals("") && random().nextBoolean() ? " " + v + " " : v;
assertQ(req("q", "{!terms " + separator + " f=" + f + "}" + vMod), "//result[@numFound='1']");
// lucene range
diff --git a/solr/core/src/test/org/apache/solr/search/TestSolrCoreParser.java b/solr/core/src/test/org/apache/solr/search/TestSolrCoreParser.java
index b2a909fca0c..ac080b5e686 100644
--- a/solr/core/src/test/org/apache/solr/search/TestSolrCoreParser.java
+++ b/solr/core/src/test/org/apache/solr/search/TestSolrCoreParser.java
@@ -19,6 +19,7 @@ package org.apache.solr.search;
import java.io.ByteArrayInputStream;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
+import java.util.Arrays;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.index.Term;
import org.apache.lucene.queries.spans.SpanNearQuery;
@@ -227,7 +228,11 @@ public class TestSolrCoreParser extends SolrTestCaseJ4 {
}
assertEquals(fieldName, term.field());
assertTrue(
- "expected term text (" + text + ") not found in (" + expectedTermTexts + ")",
+ "expected term text ("
+ + text
+ + ") not found in ("
+ + Arrays.toString(expectedTermTexts)
+ + ")",
foundExpected);
}
}
diff --git a/solr/core/src/test/org/apache/solr/search/facet/TestCloudJSONFacetJoinDomain.java b/solr/core/src/test/org/apache/solr/search/facet/TestCloudJSONFacetJoinDomain.java
index 68692e45ed7..ca4a1afb05b 100644
--- a/solr/core/src/test/org/apache/solr/search/facet/TestCloudJSONFacetJoinDomain.java
+++ b/solr/core/src/test/org/apache/solr/search/facet/TestCloudJSONFacetJoinDomain.java
@@ -25,6 +25,7 @@ import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import java.util.Random;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.lucene.tests.util.TestUtil;
@@ -291,15 +292,17 @@ public class TestCloudJSONFacetJoinDomain extends SolrCloudTestCase {
public void testSanityCheckDomainMethods() {
{
final JoinDomain empty = new JoinDomain(null, null, null);
- assertEquals(null, empty.toJSONFacetParamValue());
+ assertNull(empty.toJSONFacetParamValue());
final SolrParams out = empty.applyDomainToQuery("safe_key", params("q", "qqq"));
assertNotNull(out);
- assertEquals(null, out.get("safe_key"));
+ assertNull(out.get("safe_key"));
assertEquals("qqq", out.get("q"));
}
{
final JoinDomain join = new JoinDomain("xxx", "yyy", null);
- assertEquals("domain:{join:{from:xxx,to:yyy}}", join.toJSONFacetParamValue().toString());
+ assertEquals(
+ "domain:{join:{from:xxx,to:yyy}}",
+ Objects.requireNonNull(join.toJSONFacetParamValue()).toString());
final SolrParams out = join.applyDomainToQuery("safe_key", params("q", "qqq"));
assertNotNull(out);
assertEquals("qqq", out.get("safe_key"));
@@ -307,16 +310,19 @@ public class TestCloudJSONFacetJoinDomain extends SolrCloudTestCase {
}
{
final JoinDomain filter = new JoinDomain(null, null, "zzz");
- assertEquals("domain:{filter:'zzz'}", filter.toJSONFacetParamValue().toString());
+ assertEquals(
+ "domain:{filter:'zzz'}",
+ Objects.requireNonNull(filter.toJSONFacetParamValue()).toString());
final SolrParams out = filter.applyDomainToQuery("safe_key", params("q", "qqq"));
assertNotNull(out);
- assertEquals(null, out.get("safe_key"));
+ assertNull(out.get("safe_key"));
assertEquals("zzz AND qqq", out.get("q"));
}
{
final JoinDomain both = new JoinDomain("xxx", "yyy", "zzz");
assertEquals(
- "domain:{join:{from:xxx,to:yyy},filter:'zzz'}", both.toJSONFacetParamValue().toString());
+ "domain:{join:{from:xxx,to:yyy},filter:'zzz'}",
+ Objects.requireNonNull(both.toJSONFacetParamValue()).toString());
final SolrParams out = both.applyDomainToQuery("safe_key", params("q", "qqq"));
assertNotNull(out);
assertEquals("qqq", out.get("safe_key"));
diff --git a/solr/core/src/test/org/apache/solr/search/join/BJQParserTest.java b/solr/core/src/test/org/apache/solr/search/join/BJQParserTest.java
index 6f08c15dab9..e110c015019 100644
--- a/solr/core/src/test/org/apache/solr/search/join/BJQParserTest.java
+++ b/solr/core/src/test/org/apache/solr/search/join/BJQParserTest.java
@@ -24,6 +24,7 @@ import java.util.List;
import java.util.ListIterator;
import java.util.Locale;
import java.util.Map;
+import java.util.Objects;
import javax.xml.xpath.XPathConstants;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.TopDocs;
@@ -116,7 +117,8 @@ public class BJQParserTest extends SolrTestCaseJ4 {
// add grandchildren after children
for (ListIterator<String[]> iter = block.listIterator(); iter.hasNext(); ) {
String[] child = iter.next();
- assert child[0] == "child_s" && child[2] == "parentchild_s" : Arrays.toString(child);
+ assert Objects.equals(child[0], "child_s") && Objects.equals(child[2], "parentchild_s")
+ : Arrays.toString(child);
String child_s = child[1];
String parentchild_s = child[3];
int grandChildPos = 0;
@@ -176,7 +178,7 @@ public class BJQParserTest extends SolrTestCaseJ4 {
"//doc/arr[@name='child_s']/str='" + klm[0] + "'",
"//doc/arr[@name='child_s']/str='" + klm[1] + "'",
"//doc/arr[@name='child_s']/str='" + klm[2] + "'");
- assert klm.length == 3 : "change asserts pls " + klm;
+ assert klm.length == 3 : "change asserts pls " + Arrays.toString(klm);
}
private static final String beParents[] =
diff --git a/solr/core/src/test/org/apache/solr/update/processor/CloneFieldUpdateProcessorFactoryTest.java b/solr/core/src/test/org/apache/solr/update/processor/CloneFieldUpdateProcessorFactoryTest.java
index dcb467e778a..551ae03121f 100644
--- a/solr/core/src/test/org/apache/solr/update/processor/CloneFieldUpdateProcessorFactoryTest.java
+++ b/solr/core/src/test/org/apache/solr/update/processor/CloneFieldUpdateProcessorFactoryTest.java
@@ -16,9 +16,8 @@
*/
package org.apache.solr.update.processor;
-import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
+import java.util.List;
import org.apache.solr.common.SolrInputDocument;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -100,11 +99,11 @@ public class CloneFieldUpdateProcessorFactoryTest extends UpdateProcessorTestBas
assertEquals("category should have a value", "test", doc.getFieldValue("category"));
Collection<Object> auths = doc.getFieldValues("authors");
- assertTrue(auths.size() == 2);
+ assertEquals(2, auths.size());
assertTrue(auths.contains("author1"));
assertTrue(auths.contains("author2"));
Collection<Object> eds = doc.getFieldValues("editors");
- assertTrue(eds.size() == 2);
+ assertEquals(2, eds.size());
assertTrue(eds.contains("ed1"));
assertTrue(eds.contains("ed2"));
@@ -113,7 +112,7 @@ public class CloneFieldUpdateProcessorFactoryTest extends UpdateProcessorTestBas
assertEquals("list_price should have a value", 6.0, doc.getFieldValue("list_price"));
Collection<Object> features = doc.getFieldValues("features");
- assertTrue(features.size() == 3);
+ assertEquals(3, features.size());
assertTrue(features.contains("hill"));
assertTrue(features.contains("valley"));
assertTrue(features.contains("dune"));
@@ -122,14 +121,14 @@ public class CloneFieldUpdateProcessorFactoryTest extends UpdateProcessorTestBas
assertEquals("category_s should have a value", "test", doc.getFieldValue("category_s"));
Collection<Object> contribs = doc.getFieldValues("contributors");
- assertTrue(contribs.size() == 4);
+ assertEquals(4, contribs.size());
assertTrue(contribs.contains("author1"));
assertTrue(contribs.contains("author2"));
assertTrue(contribs.contains("ed1"));
assertTrue(contribs.contains("ed2"));
Collection<Object> prices = doc.getFieldValues("all_prices");
- assertTrue(prices.size() == 2);
+ assertEquals(2, prices.size());
assertTrue(prices.contains(5.0));
assertTrue(prices.contains(4.0));
assertFalse(prices.contains(6.0));
@@ -139,13 +138,13 @@ public class CloneFieldUpdateProcessorFactoryTest extends UpdateProcessorTestBas
// itself
Collection<Object> keyf = doc.getFieldValues("key_feature");
- assertTrue(keyf.size() == 3);
+ assertEquals(3, keyf.size());
assertTrue(keyf.contains("hill"));
assertTrue(keyf.contains("valley"));
assertTrue(keyf.contains("dune"));
Collection<Object> bestf = doc.getFieldValues("best_feature");
- assertTrue(bestf.size() == 3);
+ assertEquals(3, bestf.size());
assertTrue(bestf.contains("hill"));
assertTrue(bestf.contains("valley"));
assertTrue(bestf.contains("dune"));
@@ -157,7 +156,7 @@ public class CloneFieldUpdateProcessorFactoryTest extends UpdateProcessorTestBas
// regardless of chain, all of these checks should be equivalent
for (String chain :
- Arrays.asList(
+ List.of(
"clone-single", "clone-single-regex",
"clone-multi", "clone-multi-regex",
"clone-array", "clone-array-regex",
@@ -173,8 +172,9 @@ public class CloneFieldUpdateProcessorFactoryTest extends UpdateProcessorTestBas
f("source1_s", "123456789", "", 42, "abcd")));
assertNotNull(chain, d);
assertEquals(
- chain, Arrays.asList("123456789", "", 42, "abcd"), d.getFieldValues("source1_s"));
- assertEquals(chain, Arrays.asList("123456789", "", 42, "abcd"), d.getFieldValues("dest_s"));
+ chain, List.of("123456789", "", 42, "abcd"), List.copyOf(d.getFieldValues("source1_s")));
+ assertEquals(
+ chain, List.of("123456789", "", 42, "abcd"), List.copyOf(d.getFieldValues("dest_s")));
// append to existing values, preserve boost
d =
@@ -187,16 +187,16 @@ public class CloneFieldUpdateProcessorFactoryTest extends UpdateProcessorTestBas
f("source1_s", "123456789", "", 42, "abcd")));
assertNotNull(chain, d);
assertEquals(
- chain, Arrays.asList("123456789", "", 42, "abcd"), d.getFieldValues("source1_s"));
+ chain, List.of("123456789", "", 42, "abcd"), List.copyOf(d.getFieldValues("source1_s")));
assertEquals(
chain,
- Arrays.asList("orig1", "orig2", "123456789", "", 42, "abcd"),
- d.getFieldValues("dest_s"));
+ List.of("orig1", "orig2", "123456789", "", 42, "abcd"),
+ List.copyOf(d.getFieldValues("dest_s")));
}
// should be equivalent for any chain matching source1_s and source2_s (but not source0_s)
for (String chain :
- Arrays.asList(
+ List.of(
"clone-multi", "clone-multi-regex",
"clone-array", "clone-array-regex",
"clone-selector", "clone-selector-regex")) {
@@ -212,12 +212,12 @@ public class CloneFieldUpdateProcessorFactoryTest extends UpdateProcessorTestBas
f("source2_s", "xxx", 999)));
assertNotNull(chain, d);
assertEquals(
- chain, Arrays.asList("123456789", "", 42, "abcd"), d.getFieldValues("source1_s"));
- assertEquals(chain, Arrays.asList("xxx", 999), d.getFieldValues("source2_s"));
+ chain, List.of("123456789", "", 42, "abcd"), List.copyOf(d.getFieldValues("source1_s")));
+ assertEquals(chain, List.of("xxx", 999), List.copyOf(d.getFieldValues("source2_s")));
assertEquals(
chain,
- Arrays.asList("123456789", "", 42, "abcd", "xxx", 999),
- d.getFieldValues("dest_s"));
+ List.of("123456789", "", 42, "abcd", "xxx", 999),
+ List.copyOf(d.getFieldValues("dest_s")));
// append to existing values
d =
@@ -231,17 +231,17 @@ public class CloneFieldUpdateProcessorFactoryTest extends UpdateProcessorTestBas
f("source2_s", "xxx", 999)));
assertNotNull(chain, d);
assertEquals(
- chain, Arrays.asList("123456789", "", 42, "abcd"), d.getFieldValues("source1_s"));
- assertEquals(chain, Arrays.asList("xxx", 999), d.getFieldValues("source2_s"));
+ chain, List.of("123456789", "", 42, "abcd"), List.copyOf(d.getFieldValues("source1_s")));
+ assertEquals(chain, List.of("xxx", 999), List.copyOf(d.getFieldValues("source2_s")));
assertEquals(
chain,
- Arrays.asList("orig1", "orig2", "123456789", "", 42, "abcd", "xxx", 999),
- d.getFieldValues("dest_s"));
+ List.of("orig1", "orig2", "123456789", "", 42, "abcd", "xxx", 999),
+ List.copyOf(d.getFieldValues("dest_s")));
}
// any chain that copies source1_s to dest_s should be equivalent for these assertions
for (String chain :
- Arrays.asList(
+ List.of(
"clone-simple-regex-syntax",
"clone-single",
"clone-single-regex",
@@ -256,8 +256,9 @@ public class CloneFieldUpdateProcessorFactoryTest extends UpdateProcessorTestBas
d = processAdd(chain, doc(f("id", "1111"), f("source1_s", "123456789", "", 42, "abcd")));
assertNotNull(chain, d);
assertEquals(
- chain, Arrays.asList("123456789", "", 42, "abcd"), d.getFieldValues("source1_s"));
- assertEquals(chain, Arrays.asList("123456789", "", 42, "abcd"), d.getFieldValues("dest_s"));
+ chain, List.of("123456789", "", 42, "abcd"), List.copyOf(d.getFieldValues("source1_s")));
+ assertEquals(
+ chain, List.of("123456789", "", 42, "abcd"), List.copyOf(d.getFieldValues("dest_s")));
// append to existing values, preserve boost
d =
@@ -269,11 +270,11 @@ public class CloneFieldUpdateProcessorFactoryTest extends UpdateProcessorTestBas
f("source1_s", "123456789", "", 42, "abcd")));
assertNotNull(chain, d);
assertEquals(
- chain, Arrays.asList("123456789", "", 42, "abcd"), d.getFieldValues("source1_s"));
+ chain, List.of("123456789", "", 42, "abcd"), List.copyOf(d.getFieldValues("source1_s")));
assertEquals(
chain,
- Arrays.asList("orig1", "orig2", "123456789", "", 42, "abcd"),
- d.getFieldValues("dest_s"));
+ List.of("orig1", "orig2", "123456789", "", 42, "abcd"),
+ List.copyOf(d.getFieldValues("dest_s")));
}
}
@@ -287,7 +288,7 @@ public class CloneFieldUpdateProcessorFactoryTest extends UpdateProcessorTestBas
f("foo_x3_x7_s", "xyz")));
assertNotNull(d);
- assertEquals(Arrays.asList("123456789", "", 42, "abcd"), d.getFieldValues("foo_y2_s"));
+ assertEquals(List.of("123456789", "", 42, "abcd"), List.copyOf(d.getFieldValues("foo_y2_s")));
assertEquals("xyz", d.getFieldValue("foo_y3_y7_s"));
}
@@ -314,17 +315,17 @@ public class CloneFieldUpdateProcessorFactoryTest extends UpdateProcessorTestBas
assertNotNull(d);
assertEquals("misc", d.getFieldValue("category"));
assertEquals("misc", d.getFieldValue("category_s"));
- assertEquals(Arrays.asList("Isaac Asimov", "John Brunner"), d.getFieldValues("authors"));
- assertEquals(Collections.singletonList("John W. Campbell"), d.getFieldValues("editors"));
+ assertEquals(List.of("Isaac Asimov", "John Brunner"), List.copyOf(d.getFieldValues("authors")));
+ assertEquals(List.of("John W. Campbell"), List.copyOf(d.getFieldValues("editors")));
assertEquals(
- Arrays.asList("Isaac Asimov", "John Brunner", "John W. Campbell"),
- d.getFieldValues("contributors"));
+ List.of("Isaac Asimov", "John Brunner", "John W. Campbell"),
+ List.copyOf(d.getFieldValues("contributors")));
assertEquals(87, d.getFieldValue("store1_price"));
assertEquals(78, d.getFieldValue("store2_price"));
assertEquals(1000, d.getFieldValue("list_price"));
- assertEquals(Arrays.asList(87, 78), d.getFieldValues("all_prices"));
+ assertEquals(List.of(87, 78), List.copyOf(d.getFieldValues("all_prices")));
- assertEquals(Arrays.asList("Pages!", "Binding!"), d.getFieldValues("key_feature"));
+ assertEquals(List.of("Pages!", "Binding!"), List.copyOf(d.getFieldValues("key_feature")));
assertEquals("Pullups", d.getFieldValue("key_feat_of_strength"));
}
diff --git a/solr/core/src/test/org/apache/solr/update/processor/DefaultValueUpdateProcessorTest.java b/solr/core/src/test/org/apache/solr/update/processor/DefaultValueUpdateProcessorTest.java
index 045448717bb..58be0854dac 100644
--- a/solr/core/src/test/org/apache/solr/update/processor/DefaultValueUpdateProcessorTest.java
+++ b/solr/core/src/test/org/apache/solr/update/processor/DefaultValueUpdateProcessorTest.java
@@ -17,8 +17,8 @@
package org.apache.solr.update.processor;
import java.io.IOException;
-import java.util.Arrays;
import java.util.Date;
+import java.util.List;
import java.util.UUID;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.common.SolrInputDocument;
@@ -57,7 +57,7 @@ public class DefaultValueUpdateProcessorTest extends SolrTestCaseJ4 {
assertTrue(
"timestamp not a date: " + d.getFieldValue("timestamp").getClass(),
d.getFieldValue("timestamp") instanceof Date);
- assertEquals(Arrays.asList("Existing", "Values"), d.getFieldValues("name"));
+ assertEquals(List.of("Existing", "Values"), List.copyOf(d.getFieldValues("name")));
// defaults already specified
d =
@@ -76,8 +76,8 @@ public class DefaultValueUpdateProcessorTest extends SolrTestCaseJ4 {
assertEquals("I HAVE A VALUE", d.getFieldValue("processor_default_s"));
assertEquals(12345, d.getFieldValue("processor_default_i"));
assertEquals("550e8400-e29b-41d4-a716-446655440000", d.getFieldValue("uuid"));
- assertEquals(now, d.getFieldValue("timestamp"));
- assertEquals(Arrays.asList("Existing", "Values"), d.getFieldValues("name"));
+ assertEquals(now.toInstant(), ((Date) d.getFieldValue("timestamp")).toInstant());
+ assertEquals(List.of("Existing", "Values"), List.copyOf(d.getFieldValues("name")));
}
/** Convenience method for building up SolrInputDocuments */
diff --git a/solr/core/src/test/org/apache/solr/update/processor/DocExpirationUpdateProcessorFactoryTest.java b/solr/core/src/test/org/apache/solr/update/processor/DocExpirationUpdateProcessorFactoryTest.java
index f26dbcb5ddd..a4d7ef63f9c 100644
--- a/solr/core/src/test/org/apache/solr/update/processor/DocExpirationUpdateProcessorFactoryTest.java
+++ b/solr/core/src/test/org/apache/solr/update/processor/DocExpirationUpdateProcessorFactoryTest.java
@@ -45,7 +45,9 @@ public class DocExpirationUpdateProcessorFactoryTest extends UpdateProcessorTest
params("NOW", "1394059630042"),
doc(f("id", "1111"), f("_ttl_", "+5MINUTES")));
assertNotNull(d);
- assertEquals(new Date(1394059930042L), d.getFieldValue("_expire_at_tdt"));
+ assertEquals(
+ new Date(1394059930042L).toInstant(),
+ ((Date) d.getFieldValue("_expire_at_tdt")).toInstant());
d =
processAdd(
@@ -56,7 +58,9 @@ public class DocExpirationUpdateProcessorFactoryTest extends UpdateProcessorTest
doc(f("id", "1111")));
assertNotNull(d);
- assertEquals(new Date(1394059930042L), d.getFieldValue("_expire_at_tdt"));
+ assertEquals(
+ new Date(1394059930042L).toInstant(),
+ ((Date) d.getFieldValue("_expire_at_tdt")).toInstant());
}
public void testTTLFieldConversion() throws Exception {
@@ -68,7 +72,9 @@ public class DocExpirationUpdateProcessorFactoryTest extends UpdateProcessorTest
params("NOW", "1394059630042"),
doc(f("id", "1111"), f("_ttl_field_", "+5MINUTES")));
assertNotNull(d);
- assertEquals(new Date(1394059930042L), d.getFieldValue("_expire_at_tdt"));
+ assertEquals(
+ new Date(1394059930042L).toInstant(),
+ ((Date) d.getFieldValue("_expire_at_tdt")).toInstant());
d =
processAdd(
@@ -76,7 +82,9 @@ public class DocExpirationUpdateProcessorFactoryTest extends UpdateProcessorTest
params("NOW", "1394059630042"),
doc(f("id", "2222"), f("_ttl_field_", "+27MINUTES")));
assertNotNull(d);
- assertEquals(new Date(1394061250042L), d.getFieldValue("_expire_at_tdt"));
+ assertEquals(
+ new Date(1394061250042L).toInstant(),
+ ((Date) d.getFieldValue("_expire_at_tdt")).toInstant());
d =
processAdd(
@@ -84,7 +92,9 @@ public class DocExpirationUpdateProcessorFactoryTest extends UpdateProcessorTest
params("NOW", "1394059630042"),
doc(f("id", "3333"), f("_ttl_field_", "+1YEAR")));
assertNotNull(d);
- assertEquals(new Date(1425595630042L), d.getFieldValue("_expire_at_tdt"));
+ assertEquals(
+ new Date(1425595630042L).toInstant(),
+ ((Date) d.getFieldValue("_expire_at_tdt")).toInstant());
d =
processAdd(
@@ -92,7 +102,9 @@ public class DocExpirationUpdateProcessorFactoryTest extends UpdateProcessorTest
params("NOW", "1394059630042"),
doc(f("id", "1111"), f("_ttl_field_", "/DAY+1YEAR")));
assertNotNull(d);
- assertEquals(new Date(1425513600000L), d.getFieldValue("_expire_at_tdt"));
+ assertEquals(
+ new Date(1425513600000L).toInstant(),
+ ((Date) d.getFieldValue("_expire_at_tdt")).toInstant());
// default ttlParamName is disabled, this should not convert...
d =
@@ -118,7 +130,9 @@ public class DocExpirationUpdateProcessorFactoryTest extends UpdateProcessorTest
doc(f("id", "1111")));
assertNotNull(d);
- assertEquals(new Date(1394059930042L), d.getFieldValue("_expire_at_tdt"));
+ assertEquals(
+ new Date(1394059930042L).toInstant(),
+ ((Date) d.getFieldValue("_expire_at_tdt")).toInstant());
d =
processAdd(
@@ -128,7 +142,9 @@ public class DocExpirationUpdateProcessorFactoryTest extends UpdateProcessorTest
"_ttl_param_", "+27MINUTES"),
doc(f("id", "2222")));
assertNotNull(d);
- assertEquals(new Date(1394061250042L), d.getFieldValue("_expire_at_tdt"));
+ assertEquals(
+ new Date(1394061250042L).toInstant(),
+ ((Date) d.getFieldValue("_expire_at_tdt")).toInstant());
// default ttlFieldName is disabled, param should be used...
d =
@@ -139,7 +155,9 @@ public class DocExpirationUpdateProcessorFactoryTest extends UpdateProcessorTest
"_ttl_param_", "+5MINUTES"),
doc(f("id", "1111"), f("_ttl_field_", "+999MINUTES")));
assertNotNull(d);
- assertEquals(new Date(1394059930042L), d.getFieldValue("_expire_at_tdt"));
+ assertEquals(
+ new Date(1394059930042L).toInstant(),
+ ((Date) d.getFieldValue("_expire_at_tdt")).toInstant());
// default ttlFieldName is disabled, this should not convert...
d =
@@ -160,7 +178,9 @@ public class DocExpirationUpdateProcessorFactoryTest extends UpdateProcessorTest
"_ttl_param_", "+999MINUTES"),
doc(f("id", "1111"), f("_ttl_field_", "+5MINUTES")));
assertNotNull(d);
- assertEquals(new Date(1394059930042L), d.getFieldValue("_expire_at_tdt"));
+ assertEquals(
+ new Date(1394059930042L).toInstant(),
+ ((Date) d.getFieldValue("_expire_at_tdt")).toInstant());
d =
processAdd(
@@ -170,7 +190,9 @@ public class DocExpirationUpdateProcessorFactoryTest extends UpdateProcessorTest
"_ttl_param_", "+27MINUTES"),
doc(f("id", "2222")));
assertNotNull(d);
- assertEquals(new Date(1394061250042L), d.getFieldValue("_expire_at_tdt"));
+ assertEquals(
+ new Date(1394061250042L).toInstant(),
+ ((Date) d.getFieldValue("_expire_at_tdt")).toInstant());
}
public void testAutomaticDeletes() throws Exception {
diff --git a/solr/core/src/test/org/apache/solr/update/processor/FieldMutatingUpdateProcessorTest.java b/solr/core/src/test/org/apache/solr/update/processor/FieldMutatingUpdateProcessorTest.java
index b8c5bc30644..25f66221f73 100644
--- a/solr/core/src/test/org/apache/solr/update/processor/FieldMutatingUpdateProcessorTest.java
+++ b/solr/core/src/test/org/apache/solr/update/processor/FieldMutatingUpdateProcessorTest.java
@@ -16,8 +16,8 @@
*/
package org.apache.solr.update.processor;
-import java.util.Arrays;
import java.util.LinkedHashSet;
+import java.util.List;
import java.util.TreeSet;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.SolrInputDocument;
@@ -82,8 +82,8 @@ public class FieldMutatingUpdateProcessorTest extends UpdateProcessorTestBase {
// simple stuff
assertEquals("string", d.getFieldValue("foo_s"));
- assertEquals(Arrays.asList("some text", "other Text"), d.getFieldValues("foo_t"));
- assertEquals(Arrays.asList("Hoss", "Man"), d.getFieldValues("name"));
+ assertEquals(List.of("some text", "other Text"), List.copyOf(d.getFieldValues("foo_t")));
+ assertEquals(List.of("Hoss", "Man"), List.copyOf(d.getFieldValues("name")));
// slightly more interesting
assertEquals("processor borked non string value", 42, d.getFieldValue("foo_d"));
@@ -104,14 +104,14 @@ public class FieldMutatingUpdateProcessorTest extends UpdateProcessorTestBase {
assertNotNull(d);
- assertEquals(Arrays.asList("Hoss", "Man", "Hoss"), d.getFieldValues("name"));
- assertEquals(Arrays.asList("Hoss", "Man"), d.getFieldValues("uniq_1_s"));
- assertEquals(Arrays.asList("Foo", "Hoss", "Man", "Bar"), d.getFieldValues("uniq_2_s"));
- assertEquals(Arrays.asList(5.0F, 23, "string"), d.getFieldValues("uniq_3_s"));
+ assertEquals(List.of("Hoss", "Man", "Hoss"), List.copyOf(d.getFieldValues("name")));
+ assertEquals(List.of("Hoss", "Man"), List.copyOf(d.getFieldValues("uniq_1_s")));
+ assertEquals(List.of("Foo", "Hoss", "Man", "Bar"), List.copyOf(d.getFieldValues("uniq_2_s")));
+ assertEquals(List.of(5.0F, 23, "string"), List.copyOf(d.getFieldValues("uniq_3_s")));
}
public void testTrimFields() throws Exception {
- for (String chain : Arrays.asList("trim-fields", "trim-fields-arr")) {
+ for (String chain : List.of("trim-fields", "trim-fields-arr")) {
SolrInputDocument d = null;
d =
processAdd(
@@ -125,8 +125,8 @@ public class FieldMutatingUpdateProcessorTest extends UpdateProcessorTestBase {
assertNotNull(d);
assertEquals(" string ", d.getFieldValue("foo_s"));
- assertEquals(Arrays.asList("some text", "other Text"), d.getFieldValues("foo_t"));
- assertEquals(Arrays.asList("Hoss", "Man"), d.getFieldValues("name"));
+ assertEquals(List.of("some text", "other Text"), List.copyOf(d.getFieldValues("foo_t")));
+ assertEquals(List.of("Hoss", "Man"), List.copyOf(d.getFieldValues("name")));
}
}
@@ -144,8 +144,8 @@ public class FieldMutatingUpdateProcessorTest extends UpdateProcessorTestBase {
assertNotNull(d);
assertEquals(" string ", d.getFieldValue("foo_s"));
- assertEquals(Arrays.asList("some text", "other Text"), d.getFieldValues("foo_t"));
- assertEquals(Arrays.asList(" Hoss ", " Man"), d.getFieldValues("name"));
+ assertEquals(List.of("some text", "other Text"), List.copyOf(d.getFieldValues("foo_t")));
+ assertEquals(List.of(" Hoss ", " Man"), List.copyOf(d.getFieldValues("name")));
}
public void testTrimRegex() throws Exception {
@@ -309,8 +309,8 @@ public class FieldMutatingUpdateProcessorTest extends UpdateProcessorTestBase {
assertNotNull(d);
- assertEquals(Arrays.asList("string1"), d.getFieldValues("foo_s"));
- assertEquals(Arrays.asList("string2", "string3"), d.getFieldValues("bar_dt"));
+ assertEquals(List.of("string1"), List.copyOf(d.getFieldValues("foo_s")));
+ assertEquals(List.of("string2", "string3"), List.copyOf(d.getFieldValues("bar_dt")));
assertFalse("shouldn't be any values for yak_t", d.containsKey("yak_t"));
assertEquals("processor borked non string value", 42, d.getFieldValue("foo_d"));
}
@@ -329,7 +329,7 @@ public class FieldMutatingUpdateProcessorTest extends UpdateProcessorTestBase {
assertNotNull(d);
- assertEquals(Arrays.asList("string1", "string222"), d.getFieldValues("foo_s"));
+ assertEquals(List.of("string1", "string222"), List.copyOf(d.getFieldValues("foo_s")));
assertEquals("string3", d.getFieldValue("bar_dt"));
assertEquals("", d.getFieldValue("yak_t"));
assertEquals("processor borked non string value", 42, d.getFieldValue("foo_d"));
@@ -346,7 +346,7 @@ public class FieldMutatingUpdateProcessorTest extends UpdateProcessorTestBase {
assertNotNull(d);
- assertEquals(Arrays.asList(7, 9), d.getFieldValues("foo_s"));
+ assertEquals(List.of(7, 9), List.copyOf(d.getFieldValues("foo_s")));
assertEquals("string3", d.getFieldValue("bar_dt"));
assertEquals(0, d.getFieldValue("yak_t"));
assertEquals("processor borked non string value", 42, d.getFieldValue("foo_d"));
@@ -438,9 +438,9 @@ public class FieldMutatingUpdateProcessorTest extends UpdateProcessorTestBase {
assertNotNull(d);
- assertEquals(Arrays.asList("string1"), d.getFieldValues("foo_s"));
- assertEquals(Arrays.asList("string3"), d.getFieldValues("bar_s"));
- assertEquals(Arrays.asList("string4", "string5"), d.getFieldValues("yak_t"));
+ assertEquals(List.of("string1"), List.copyOf(d.getFieldValues("foo_s")));
+ assertEquals(List.of("string3"), List.copyOf(d.getFieldValues("bar_s")));
+ assertEquals(List.of("string4", "string5"), List.copyOf(d.getFieldValues("yak_t")));
}
public void testLastValue() throws Exception {
@@ -459,9 +459,9 @@ public class FieldMutatingUpdateProcessorTest extends UpdateProcessorTestBase {
assertNotNull(d);
- assertEquals(Arrays.asList("string222"), d.getFieldValues("foo_s"));
- assertEquals(Arrays.asList("string3"), d.getFieldValues("bar_s"));
- assertEquals(Arrays.asList("string4", "string5"), d.getFieldValues("yak_t"));
+ assertEquals(List.of("string222"), List.copyOf(d.getFieldValues("foo_s")));
+ assertEquals(List.of("string3"), List.copyOf(d.getFieldValues("bar_s")));
+ assertEquals(List.of("string4", "string5"), List.copyOf(d.getFieldValues("yak_t")));
// test optimizations (and force test of defaults)
@@ -470,7 +470,7 @@ public class FieldMutatingUpdateProcessorTest extends UpdateProcessorTestBase {
// test something that's definitely a SortedSet
special = new SolrInputField("foo_s");
- special.setValue(new TreeSet<>(Arrays.asList("ggg", "first", "last", "hhh")));
+ special.setValue(new TreeSet<>(List.of("ggg", "first", "last", "hhh")));
d = processAdd("last-value", doc(f("id", "1111"), special));
@@ -481,7 +481,7 @@ public class FieldMutatingUpdateProcessorTest extends UpdateProcessorTestBase {
// test something that's definitely a List
special = new SolrInputField("foo_s");
- special.setValue(Arrays.asList("first", "ggg", "hhh", "last"));
+ special.setValue(List.of("first", "ggg", "hhh", "last"));
d = processAdd("last-value", doc(f("id", "1111"), special));
@@ -493,7 +493,7 @@ public class FieldMutatingUpdateProcessorTest extends UpdateProcessorTestBase {
// (ie: get default behavior of Collection using iterator)
special = new SolrInputField("foo_s");
- special.setValue(new LinkedHashSet<>(Arrays.asList("first", "ggg", "hhh", "last")));
+ special.setValue(new LinkedHashSet<>(List.of("first", "ggg", "hhh", "last")));
d = processAdd("last-value", doc(f("id", "1111"), special));
@@ -517,10 +517,10 @@ public class FieldMutatingUpdateProcessorTest extends UpdateProcessorTestBase {
assertNotNull(d);
- assertEquals(Arrays.asList("aaa"), d.getFieldValues("foo_s"));
- assertEquals(Arrays.asList(-3), d.getFieldValues("foo_i"));
- assertEquals(Arrays.asList("aaa"), d.getFieldValues("bar_s"));
- assertEquals(Arrays.asList("aaa", "bbb"), d.getFieldValues("yak_t"));
+ assertEquals(List.of("aaa"), List.copyOf(d.getFieldValues("foo_s")));
+ assertEquals(List.of(-3), List.copyOf(d.getFieldValues("foo_i")));
+ assertEquals(List.of("aaa"), List.copyOf(d.getFieldValues("bar_s")));
+ assertEquals(List.of("aaa", "bbb"), List.copyOf(d.getFieldValues("yak_t")));
// failure when un-comparable
@@ -541,7 +541,7 @@ public class FieldMutatingUpdateProcessorTest extends UpdateProcessorTestBase {
resetExceptionIgnores();
}
assertNotNull("no error on un-comparable values", error);
- assertTrue("error doesn't mention field name", 0 <= error.getMessage().indexOf("foo_s"));
+ assertTrue("error doesn't mention field name", error.getMessage().contains("foo_s"));
}
public void testMaxValue() throws Exception {
@@ -559,10 +559,10 @@ public class FieldMutatingUpdateProcessorTest extends UpdateProcessorTestBase {
assertNotNull(d);
- assertEquals(Arrays.asList("zzz"), d.getFieldValues("foo_s"));
- assertEquals(Arrays.asList(128), d.getFieldValues("foo_i"));
- assertEquals(Arrays.asList("aaa"), d.getFieldValues("bar_s"));
- assertEquals(Arrays.asList("aaa", "bbb"), d.getFieldValues("yak_t"));
+ assertEquals(List.of("zzz"), List.copyOf(d.getFieldValues("foo_s")));
+ assertEquals(List.of(128), List.copyOf(d.getFieldValues("foo_i")));
+ assertEquals(List.of("aaa"), List.copyOf(d.getFieldValues("bar_s")));
+ assertEquals(List.of("aaa", "bbb"), List.copyOf(d.getFieldValues("yak_t")));
// failure when un-comparable
@@ -583,7 +583,7 @@ public class FieldMutatingUpdateProcessorTest extends UpdateProcessorTestBase {
resetExceptionIgnores();
}
assertNotNull("no error on un-comparable values", error);
- assertTrue("error doesn't mention field name", 0 <= error.getMessage().indexOf("foo_s"));
+ assertTrue("error doesn't mention field name", error.getMessage().contains("foo_s"));
}
public void testHtmlStrip() throws Exception {
@@ -599,7 +599,7 @@ public class FieldMutatingUpdateProcessorTest extends UpdateProcessorTestBase {
assertNotNull(d);
- assertEquals(Arrays.asList("hi & bye", "aaa", "bbb"), d.getFieldValues("html_s"));
+ assertEquals(List.of("hi & bye", "aaa", "bbb"), List.copyOf(d.getFieldValues("html_s")));
assertEquals("<body>hi & bye", d.getFieldValue("bar_s"));
}
@@ -610,7 +610,7 @@ public class FieldMutatingUpdateProcessorTest extends UpdateProcessorTestBase {
assertNotNull(d);
- assertEquals(Arrays.asList("12345", "", 42, "abcd"), d.getFieldValues("trunc"));
+ assertEquals(List.of("12345", "", 42, "abcd"), List.copyOf(d.getFieldValues("trunc")));
}
public void testIgnore() throws Exception {
@@ -644,7 +644,7 @@ public class FieldMutatingUpdateProcessorTest extends UpdateProcessorTestBase {
assertNotNull(d);
assertFalse(d.containsKey("bar_giberish"));
assertFalse(d.containsKey("foo_giberish"));
- assertEquals(Arrays.asList("123456789", "", 42, "abcd"), d.getFieldValues("t_raw"));
+ assertEquals(List.of("123456789", "", 42, "abcd"), List.copyOf(d.getFieldValues("t_raw")));
assertEquals("hoss", d.getFieldValue("foo_s"));
d =
@@ -658,8 +658,10 @@ public class FieldMutatingUpdateProcessorTest extends UpdateProcessorTestBase {
f("foo_s", "hoss")));
assertNotNull(d);
- assertEquals(Arrays.asList("123456789", "", 42, "abcd"), d.getFieldValues("foo_giberish"));
- assertEquals(Arrays.asList("123456789", "", 42, "abcd"), d.getFieldValues("bar_giberish"));
+ assertEquals(
+ List.of("123456789", "", 42, "abcd"), List.copyOf(d.getFieldValues("foo_giberish")));
+ assertEquals(
+ List.of("123456789", "", 42, "abcd"), List.copyOf(d.getFieldValues("bar_giberish")));
assertFalse(d.containsKey("t_raw"));
assertEquals("hoss", d.getFieldValue("foo_s"));
@@ -675,7 +677,7 @@ public class FieldMutatingUpdateProcessorTest extends UpdateProcessorTestBase {
assertNotNull(d);
assertFalse(d.containsKey("foo_giberish"));
assertFalse(d.containsKey("bar_giberish"));
- assertEquals(Arrays.asList("123456789", "", 42, "abcd"), d.getFieldValues("t_raw"));
+ assertEquals(List.of("123456789", "", 42, "abcd"), List.copyOf(d.getFieldValues("t_raw")));
assertEquals("hoss", d.getFieldValue("foo_s"));
d =
@@ -689,8 +691,9 @@ public class FieldMutatingUpdateProcessorTest extends UpdateProcessorTestBase {
f("foo_s", "hoss")));
assertNotNull(d);
assertFalse(d.containsKey("foo_giberish"));
- assertEquals(Arrays.asList("123456789", "", 42, "abcd"), d.getFieldValues("bar_giberish"));
- assertEquals(Arrays.asList("123456789", "", 42, "abcd"), d.getFieldValues("t_raw"));
+ assertEquals(
+ List.of("123456789", "", 42, "abcd"), List.copyOf(d.getFieldValues("bar_giberish")));
+ assertEquals(List.of("123456789", "", 42, "abcd"), List.copyOf(d.getFieldValues("t_raw")));
assertEquals("hoss", d.getFieldValue("foo_s"));
d =
@@ -703,9 +706,11 @@ public class FieldMutatingUpdateProcessorTest extends UpdateProcessorTestBase {
f("t_raw", "123456789", "", 42, "abcd"),
f("foo_s", "hoss")));
assertNotNull(d);
- assertEquals(Arrays.asList("123456789", "", 42, "abcd"), d.getFieldValues("foo_giberish"));
- assertEquals(Arrays.asList("123456789", "", 42, "abcd"), d.getFieldValues("bar_giberish"));
- assertEquals(Arrays.asList("123456789", "", 42, "abcd"), d.getFieldValues("t_raw"));
+ assertEquals(
+ List.of("123456789", "", 42, "abcd"), List.copyOf(d.getFieldValues("foo_giberish")));
+ assertEquals(
+ List.of("123456789", "", 42, "abcd"), List.copyOf(d.getFieldValues("bar_giberish")));
+ assertEquals(List.of("123456789", "", 42, "abcd"), List.copyOf(d.getFieldValues("t_raw")));
assertFalse(d.containsKey("foo_s"));
d =
@@ -736,7 +741,7 @@ public class FieldMutatingUpdateProcessorTest extends UpdateProcessorTestBase {
assertNotNull(d);
assertFalse(d.containsKey("foo_giberish"));
assertFalse(d.containsKey("bar_giberish"));
- assertEquals(Arrays.asList("123456789", "", 42, "abcd"), d.getFieldValues("t_raw"));
+ assertEquals(List.of("123456789", "", 42, "abcd"), List.copyOf(d.getFieldValues("t_raw")));
assertEquals("hoss", d.getFieldValue("foo_s"));
d =
@@ -783,9 +788,9 @@ public class FieldMutatingUpdateProcessorTest extends UpdateProcessorTestBase {
f("editors", "John W. Campbell"),
f("list_price", 1000)));
assertNotNull(d);
- assertEquals(Arrays.asList("scifi", "war", "space"), d.getFieldValues("category"));
+ assertEquals(List.of("scifi", "war", "space"), List.copyOf(d.getFieldValues("category")));
assertEquals(3, d.getFieldValue("category_count"));
- assertEquals(Arrays.asList("John W. Campbell"), d.getFieldValues("editors"));
+ assertEquals(List.of("John W. Campbell"), List.copyOf(d.getFieldValues("editors")));
assertEquals(1000, d.getFieldValue("list_price"));
// typical use case: clone and count demonstrating default
@@ -795,7 +800,7 @@ public class FieldMutatingUpdateProcessorTest extends UpdateProcessorTestBase {
doc(f("id", "1111"), f("editors", "Anonymous"), f("list_price", 1000)));
assertNotNull(d);
assertEquals(0, d.getFieldValue("category_count"));
- assertEquals(Arrays.asList("Anonymous"), d.getFieldValues("editors"));
+ assertEquals(List.of("Anonymous"), List.copyOf(d.getFieldValues("editors")));
assertEquals(1000, d.getFieldValue("list_price"));
}
@@ -815,10 +820,10 @@ public class FieldMutatingUpdateProcessorTest extends UpdateProcessorTestBase {
assertNotNull(d);
assertEquals("1111, 222", d.getFieldValue("id"));
- assertEquals(Arrays.asList("string1", "string2"), d.getFieldValues("attr_foo"));
+ assertEquals(List.of("string1", "string2"), List.copyOf(d.getFieldValues("attr_foo")));
assertEquals("string3, string4", d.getFieldValue("foo_s1"));
- assertEquals(Arrays.asList("string5", "string6"), d.getFieldValues("bar_dt"));
- assertEquals(Arrays.asList("string7", "string8"), d.getFieldValues("bar_HOSS_s"));
+ assertEquals(List.of("string5", "string6"), List.copyOf(d.getFieldValues("bar_dt")));
+ assertEquals(List.of("string7", "string8"), List.copyOf(d.getFieldValues("bar_HOSS_s")));
assertEquals("processor borked non string value", 42, d.getFieldValue("foo_d"));
}
@@ -844,7 +849,7 @@ public class FieldMutatingUpdateProcessorTest extends UpdateProcessorTestBase {
assertNotNull(d);
- assertEquals(Arrays.asList("string1", "string2"), d.getFieldValues("foo_t"));
+ assertEquals(List.of("string1", "string2"), List.copyOf(d.getFieldValues("foo_t")));
assertEquals("string3" + delim + "string4", d.getFieldValue("foo_s"));
// slightly more interesting
diff --git a/solr/core/src/test/org/apache/solr/update/processor/ParsingFieldUpdateProcessorsTest.java b/solr/core/src/test/org/apache/solr/update/processor/ParsingFieldUpdateProcessorsTest.java
index 599c3c2ccef..bbce37c1678 100644
--- a/solr/core/src/test/org/apache/solr/update/processor/ParsingFieldUpdateProcessorsTest.java
+++ b/solr/core/src/test/org/apache/solr/update/processor/ParsingFieldUpdateProcessorsTest.java
@@ -36,7 +36,6 @@ import java.util.Map;
import java.util.Set;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.schema.IndexSchema;
-import org.hamcrest.core.IsInstanceOf;
import org.junit.BeforeClass;
/**
@@ -48,14 +47,6 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
DateTimeFormatter.ofPattern("yyyy-MM-dd['T'HH:mm[:ss[.SSS]]][z", Locale.ROOT)
.withZone(ZoneOffset.UTC);
- private static final IsInstanceOf IS_BOOLEAN = new IsInstanceOf(Boolean.class);
- private static final IsInstanceOf IS_STRING = new IsInstanceOf(String.class);
- private static final IsInstanceOf IS_DATE = new IsInstanceOf(Date.class);
- private static final IsInstanceOf IS_FLOAT = new IsInstanceOf(Float.class);
- private static final IsInstanceOf IS_DOUBLE = new IsInstanceOf(Double.class);
- private static final IsInstanceOf IS_INTEGER = new IsInstanceOf(Integer.class);
- private static final IsInstanceOf IS_LONG = new IsInstanceOf(Long.class);
-
@BeforeClass
public static void beforeClass() throws Exception {
initCore("solrconfig-parsing-update-processor-chains.xml", "schema12.xml");
@@ -67,7 +58,7 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
String dateString = "2010-11-12T13:14:15.168Z";
SolrInputDocument d = processAdd("parse-date", doc(f("id", "9"), f("date_dt", dateString)));
assertNotNull(d);
- assertThat(d.getFieldValue("date_dt"), IS_DATE);
+ assertTrue(d.getFieldValue("date_dt") instanceof Date);
assertEquals(Instant.parse(dateString), ((Date) d.getFieldValue("date_dt")).toInstant());
assertU(commit());
assertQ(req("id:9"), "//date[@name='date_dt'][.='" + dateString + "']");
@@ -79,7 +70,7 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
String dateString = "2010-11-12T13:14:15.168Z";
SolrInputDocument d = processAdd("parse-date", doc(f("id", "39"), f("date_tdt", dateString)));
assertNotNull(d);
- assertThat(d.getFieldValue("date_tdt"), IS_DATE);
+ assertTrue(d.getFieldValue("date_tdt") instanceof Date);
assertEquals(Instant.parse(dateString), ((Date) d.getFieldValue("date_tdt")).toInstant());
assertU(commit());
assertQ(req("id:39"), "//date[@name='date_tdt'][.='" + dateString + "']");
@@ -94,7 +85,7 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
processAdd(
"parse-date-no-run-processor", doc(f("id", "18"), f("not_in_schema", dateString)));
assertNotNull(d);
- assertThat(d.getFieldValue("not_in_schema"), IS_DATE);
+ assertTrue(d.getFieldValue("not_in_schema") instanceof Date);
assertEquals(Instant.parse(dateString), ((Date) d.getFieldValue("not_in_schema")).toInstant());
d =
@@ -104,7 +95,7 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
assertNotNull(d);
for (Object val : d.getFieldValues("not_in_schema")) {
// check that nothing was mutated, since not all field values are parseable as dates
- assertThat(val, IS_STRING);
+ assertTrue(val instanceof String);
}
d =
@@ -114,7 +105,7 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
assertNotNull(d);
for (Object val : d.getFieldValues("not_in_schema")) {
// check again that nothing was mutated, but with a valid date first this time
- assertThat(val, IS_STRING);
+ assertTrue(val instanceof String);
}
}
@@ -135,8 +126,8 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
f("dateUTC_dt", dateStringUTC),
f("dateNoTimeZone_dt", dateStringNoTimeZone)));
assertNotNull(d);
- assertThat(d.getFieldValue("dateUTC_dt"), IS_DATE);
- assertThat(d.getFieldValue("dateNoTimeZone_dt"), IS_DATE);
+ assertTrue(d.getFieldValue("dateUTC_dt") instanceof Date);
+ assertTrue(d.getFieldValue("dateNoTimeZone_dt") instanceof Date);
assertU(commit());
assertQ(
req("id:99"),
@@ -154,7 +145,7 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
"parse-date-explicit-not-in-schema-selector-no-run-processor",
doc(f("id", "88"), f("not_in_schema", dateString)));
assertNotNull(d);
- assertThat(d.getFieldValue("not_in_schema"), IS_DATE);
+ assertTrue(d.getFieldValue("not_in_schema") instanceof Date);
assertEquals(Instant.parse(dateString), ((Date) d.getFieldValue("not_in_schema")).toInstant());
}
@@ -176,7 +167,7 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
}
assertNotNull(d);
- assertThat(d.getFieldValue("date_dt"), IS_DATE);
+ assertTrue(d.getFieldValue("date_dt") instanceof Date);
assertEquals(Instant.parse(dateString), ((Date) d.getFieldValue("date_dt")).toInstant());
}
@@ -189,7 +180,7 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
"US-Pacific-parse-date-no-run-processor",
doc(f("id", "288"), f("not_in_schema", dateString)));
assertNotNull(d);
- assertThat(d.getFieldValue("not_in_schema"), IS_DATE);
+ assertTrue(d.getFieldValue("not_in_schema") instanceof Date);
assertEquals(
Instant.parse("2010-08-09T07:00:00.000Z"),
((Date) d.getFieldValue("not_in_schema")).toInstant());
@@ -239,10 +230,9 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
"parse-date-many-formats-no-run-processor",
doc(f("id", id), f("dateUTC_dt", dateString)));
assertNotNull(d);
- assertThat(
+ assertTrue(
"index: " + i + " date '" + dateString + "' is not mutated to a Date",
- d.getFieldValue("dateUTC_dt"),
- IS_DATE);
+ d.getFieldValue("dateUTC_dt") instanceof Date);
assertEquals(
"date '" + dateString + "' mismatched milliseconds",
expectedInstant,
@@ -260,7 +250,7 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
"parse-french-date-UTC-defaultTimeZone-no-run-processor",
doc(f("id", "88"), f("not_in_schema", frenchDateString)));
assertNotNull(d);
- assertThat(d.getFieldValue("not_in_schema"), IS_DATE);
+ assertTrue(d.getFieldValue("not_in_schema") instanceof Date);
assertEquals(Instant.parse(dateString), ((Date) d.getFieldValue("not_in_schema")).toInstant());
}
@@ -272,7 +262,7 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
for (String dateString : dateStrings) {
mixed.put(parse(isoDateOptionalTimeFormatter, dateString), dateString);
}
- Double extraDouble = 29.554d;
+ double extraDouble = 29.554d;
mixed.put(extraDouble, extraDouble); // Double-typed field value
SolrInputDocument d =
processAdd(
@@ -281,10 +271,10 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
assertNotNull(d);
boolean foundDouble = false;
for (Object o : d.getFieldValues("not_in_schema")) {
- if (extraDouble == o) {
+ if (o.equals(extraDouble)) {
foundDouble = true;
} else {
- assertThat(o, IS_STRING);
+ assertTrue(o instanceof String);
}
mixed.values().remove(o);
}
@@ -303,9 +293,9 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
processAdd(
"parse-int", doc(f("id", "113"), f("int1_i", intString1), f("int2_i", intString2)));
assertNotNull(d);
- assertThat(d.getFieldValue("int1_i"), IS_INTEGER);
+ assertTrue(d.getFieldValue("int1_i") instanceof Integer);
assertEquals(value, ((Integer) d.getFieldValue("int1_i")).intValue());
- assertThat(d.getFieldValue("int2_i"), IS_INTEGER);
+ assertTrue(d.getFieldValue("int2_i") instanceof Integer);
assertEquals(value, ((Integer) d.getFieldValue("int2_i")).intValue());
assertU(commit());
@@ -331,9 +321,9 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
"parse-int-russian-no-run-processor",
doc(f("id", "113"), f("int_i", intString1), f("not_in_schema", intString2)));
assertNotNull(d);
- assertThat(d.getFieldValue("int_i"), IS_INTEGER);
+ assertTrue(d.getFieldValue("int_i") instanceof Integer);
assertEquals(value, ((Integer) d.getFieldValue("int_i")).intValue());
- assertThat(d.getFieldValue("not_in_schema"), IS_INTEGER);
+ assertTrue(d.getFieldValue("not_in_schema") instanceof Integer);
assertEquals(value, ((Integer) d.getFieldValue("not_in_schema")).intValue());
}
@@ -348,9 +338,9 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
processAdd(
"parse-int", doc(f("id", "113"), f("int1_ti", intString1), f("int2_ti", intString2)));
assertNotNull(d);
- assertThat(d.getFieldValue("int1_ti"), IS_INTEGER);
+ assertTrue(d.getFieldValue("int1_ti") instanceof Integer);
assertEquals(value, ((Integer) d.getFieldValue("int1_ti")).intValue());
- assertThat(d.getFieldValue("int2_ti"), IS_INTEGER);
+ assertTrue(d.getFieldValue("int2_ti") instanceof Integer);
assertEquals(value, ((Integer) d.getFieldValue("int2_ti")).intValue());
assertU(commit());
@@ -376,15 +366,15 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
f("not_in_schema1", longString1),
f("not_in_schema2", longString2)));
assertNotNull(d);
- assertThat(d.getFieldValue("not_in_schema1"), IS_STRING);
- assertThat(d.getFieldValue("not_in_schema2"), IS_STRING);
+ assertTrue(d.getFieldValue("not_in_schema1") instanceof String);
+ assertTrue(d.getFieldValue("not_in_schema2") instanceof String);
}
public void testFailedParseMixedInt() throws Exception {
IndexSchema schema = h.getCore().getLatestSchema();
assertNull(schema.getFieldOrNull("not_in_schema"));
Map<Object, Object> mixed = new HashMap<>();
- Float floatVal = 294423.0f;
+ float floatVal = 294423.0f;
mixed.put(85, "85");
mixed.put(floatVal, floatVal); // Float-typed field value
mixed.put(-2894518, "-2,894,518");
@@ -395,10 +385,10 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
assertNotNull(d);
boolean foundFloat = false;
for (Object o : d.getFieldValues("not_in_schema")) {
- if (floatVal == o) {
+ if (o.equals(floatVal)) {
foundFloat = true;
} else {
- assertThat(o, IS_STRING);
+ assertTrue(o instanceof String);
}
mixed.values().remove(o);
}
@@ -418,9 +408,9 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
"parse-long",
doc(f("id", "113"), f("long1_l", longString1), f("long2_l", longString2)));
assertNotNull(d);
- assertThat(d.getFieldValue("long1_l"), IS_LONG);
+ assertTrue(d.getFieldValue("long1_l") instanceof Long);
assertEquals(value, ((Long) d.getFieldValue("long1_l")).longValue());
- assertThat(d.getFieldValue("long2_l"), IS_LONG);
+ assertTrue(d.getFieldValue("long2_l") instanceof Long);
assertEquals(value, ((Long) d.getFieldValue("long2_l")).longValue());
assertU(commit());
@@ -446,9 +436,9 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
"parse-long-russian-no-run-processor",
doc(f("id", "113"), f("long_l", longString1), f("not_in_schema", longString2)));
assertNotNull(d);
- assertThat(d.getFieldValue("long_l"), IS_LONG);
+ assertTrue(d.getFieldValue("long_l") instanceof Long);
assertEquals(value, ((Long) d.getFieldValue("long_l")).longValue());
- assertThat(d.getFieldValue("not_in_schema"), IS_LONG);
+ assertTrue(d.getFieldValue("not_in_schema") instanceof Long);
assertEquals(value, ((Long) d.getFieldValue("not_in_schema")).longValue());
}
@@ -464,9 +454,9 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
"parse-long",
doc(f("id", "113"), f("long1_tl", longString1), f("long2_tl", longString2)));
assertNotNull(d);
- assertThat(d.getFieldValue("long1_tl"), IS_LONG);
+ assertTrue(d.getFieldValue("long1_tl") instanceof Long);
assertEquals(value, ((Long) d.getFieldValue("long1_tl")).longValue());
- assertThat(d.getFieldValue("long2_tl"), IS_LONG);
+ assertTrue(d.getFieldValue("long2_tl") instanceof Long);
assertEquals(value, ((Long) d.getFieldValue("long2_tl")).longValue());
assertU(commit());
@@ -480,7 +470,7 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
IndexSchema schema = h.getCore().getLatestSchema();
assertNull(schema.getFieldOrNull("not_in_schema"));
Map<Object, Object> mixed = new HashMap<>();
- Float floatVal = 294423.0f;
+ float floatVal = 294423.0f;
mixed.put(85L, "85");
mixed.put(floatVal, floatVal); // Float-typed field value
mixed.put(-2894518L, "-2,894,518");
@@ -492,10 +482,10 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
assertNotNull(d);
boolean foundFloat = false;
for (Object o : d.getFieldValues("not_in_schema")) {
- if (floatVal == o) {
+ if (o.equals(floatVal)) {
foundFloat = true;
} else {
- assertThat(o, IS_STRING);
+ assertTrue(o instanceof String);
}
mixed.values().remove(o);
}
@@ -515,9 +505,9 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
"parse-float",
doc(f("id", "128"), f("float1_f", floatString1), f("float2_f", floatString2)));
assertNotNull(d);
- assertThat(d.getFieldValue("float1_f"), IS_FLOAT);
+ assertTrue(d.getFieldValue("float1_f") instanceof Float);
assertEquals(value, (Float) d.getFieldValue("float1_f"), EPSILON);
- assertThat(d.getFieldValue("float2_f"), IS_FLOAT);
+ assertTrue(d.getFieldValue("float2_f") instanceof Float);
assertEquals(value, (Float) d.getFieldValue("float2_f"), EPSILON);
assertU(commit());
@@ -544,9 +534,9 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
"parse-float-french-no-run-processor",
doc(f("id", "140"), f("float_f", floatString1), f("not_in_schema", floatString2)));
assertNotNull(d);
- assertThat(d.getFieldValue("float_f"), IS_FLOAT);
+ assertTrue(d.getFieldValue("float_f") instanceof Float);
assertEquals(value, (Float) d.getFieldValue("float_f"), EPSILON);
- assertThat(d.getFieldValue("not_in_schema"), IS_FLOAT);
+ assertTrue(d.getFieldValue("not_in_schema") instanceof Float);
assertEquals(value, (Float) d.getFieldValue("not_in_schema"), EPSILON);
}
@@ -562,9 +552,9 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
"parse-float",
doc(f("id", "728"), f("float1_tf", floatString1), f("float2_tf", floatString2)));
assertNotNull(d);
- assertThat(d.getFieldValue("float1_tf"), IS_FLOAT);
+ assertTrue(d.getFieldValue("float1_tf") instanceof Float);
assertEquals(value, (Float) d.getFieldValue("float1_tf"), EPSILON);
- assertThat(d.getFieldValue("float2_tf"), IS_FLOAT);
+ assertTrue(d.getFieldValue("float2_tf") instanceof Float);
assertEquals(value, (Float) d.getFieldValue("float2_tf"), EPSILON);
assertU(commit());
@@ -588,7 +578,7 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
doc(f("id", "342"), f("float_tf", mixedFloats.values())));
assertNotNull(d);
for (Object o : d.getFieldValues("float_tf")) {
- assertThat(o, IS_FLOAT);
+ assertTrue(o instanceof Float);
mixedFloats.remove(o);
}
assertTrue(mixedFloats.isEmpty());
@@ -598,7 +588,7 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
IndexSchema schema = h.getCore().getLatestSchema();
assertNull(schema.getFieldOrNull("not_in_schema"));
Map<Object, Object> mixed = new HashMap<>();
- Long longVal = 294423L;
+ long longVal = 294423L;
mixed.put(85L, "85");
mixed.put(longVal, longVal); // Float-typed field value
mixed.put(-2894518L, "-2,894,518");
@@ -610,10 +600,10 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
assertNotNull(d);
boolean foundLong = false;
for (Object o : d.getFieldValues("not_in_schema")) {
- if (longVal == o) {
+ if (o.equals(longVal)) {
foundLong = true;
} else {
- assertThat(o, IS_STRING);
+ assertTrue(o instanceof String);
}
mixed.values().remove(o);
}
@@ -633,9 +623,9 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
"parse-double",
doc(f("id", "128"), f("double1_d", doubleString1), f("double2_d", doubleString2)));
assertNotNull(d);
- assertThat(d.getFieldValue("double1_d"), IS_DOUBLE);
+ assertTrue(d.getFieldValue("double1_d") instanceof Double);
assertEquals(value, (Double) d.getFieldValue("double1_d"), EPSILON);
- assertThat(d.getFieldValue("double2_d"), IS_DOUBLE);
+ assertTrue(d.getFieldValue("double2_d") instanceof Double);
assertEquals(value, (Double) d.getFieldValue("double2_d"), EPSILON);
assertU(commit());
@@ -662,9 +652,9 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
"parse-double-french-no-run-processor",
doc(f("id", "140"), f("double_d", doubleString1), f("not_in_schema", doubleString2)));
assertNotNull(d);
- assertThat(d.getFieldValue("double_d"), IS_DOUBLE);
+ assertTrue(d.getFieldValue("double_d") instanceof Double);
assertEquals(value, (Double) d.getFieldValue("double_d"), EPSILON);
- assertThat(d.getFieldValue("not_in_schema"), IS_DOUBLE);
+ assertTrue(d.getFieldValue("not_in_schema") instanceof Double);
assertEquals(value, (Double) d.getFieldValue("not_in_schema"), EPSILON);
}
@@ -680,9 +670,9 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
"parse-double",
doc(f("id", "728"), f("double1_td", doubleString1), f("double2_td", doubleString2)));
assertNotNull(d);
- assertThat(d.getFieldValue("double1_td"), IS_DOUBLE);
+ assertTrue(d.getFieldValue("double1_td") instanceof Double);
assertEquals(value, (Double) d.getFieldValue("double1_td"), EPSILON);
- assertThat(d.getFieldValue("double2_td"), IS_DOUBLE);
+ assertTrue(d.getFieldValue("double2_td") instanceof Double);
assertEquals(value, (Double) d.getFieldValue("double2_td"), EPSILON);
assertU(commit());
@@ -696,7 +686,7 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
IndexSchema schema = h.getCore().getLatestSchema();
assertNull(schema.getFieldOrNull("not_in_schema"));
Map<Object, Object> mixed = new HashMap<>();
- Long longVal = 294423L;
+ long longVal = 294423L;
mixed.put(85, "85.0");
mixed.put(longVal, longVal); // Float-typed field value
mixed.put(-2894.518, "-2,894.518");
@@ -708,10 +698,10 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
assertNotNull(d);
boolean foundLong = false;
for (Object o : d.getFieldValues("not_in_schema")) {
- if (longVal == o) {
+ if (o.equals(longVal)) {
foundLong = true;
} else {
- assertThat(o, IS_STRING);
+ assertTrue(o instanceof String);
}
mixed.values().remove(o);
}
@@ -729,9 +719,9 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
processAdd(
"parse-boolean", doc(f("id", "141"), f("boolean1_b", value1), f("boolean2_b", value2)));
assertNotNull(d);
- assertThat(d.getFieldValue("boolean1_b"), IS_BOOLEAN);
+ assertTrue(d.getFieldValue("boolean1_b") instanceof Boolean);
assertEquals(value1, d.getFieldValue("boolean1_b"));
- assertThat(d.getFieldValue("boolean2_b"), IS_BOOLEAN);
+ assertTrue(d.getFieldValue("boolean2_b") instanceof Boolean);
assertEquals(value2, d.getFieldValue("boolean2_b"));
assertU(commit());
@@ -762,7 +752,7 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
assertNotNull(d);
for (int i = 0; i < values.length; ++i) {
- assertThat(d.getFieldValue(fieldNames[i]), IS_BOOLEAN);
+ assertTrue(d.getFieldValue(fieldNames[i]) instanceof Boolean);
assertEquals(values[i], d.getFieldValue(fieldNames[i]));
}
}
@@ -782,7 +772,7 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
assertNotNull(d);
for (int i = 0; i < values.length; ++i) {
- assertThat(d.getFieldValue(fieldNames[i]), IS_BOOLEAN);
+ assertTrue(d.getFieldValue(fieldNames[i]) instanceof Boolean);
assertEquals(values[i], d.getFieldValue(fieldNames[i]));
}
@@ -796,7 +786,7 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
assertNotNull(d);
for (int i = 0; i < values.length; ++i) {
- assertThat(d.getFieldValue(fieldNames[i]), IS_STRING);
+ assertTrue(d.getFieldValue(fieldNames[i]) instanceof String);
}
}
@@ -804,7 +794,7 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
IndexSchema schema = h.getCore().getLatestSchema();
assertNull(schema.getFieldOrNull("not_in_schema"));
Map<Object, Object> mixed = new HashMap<>();
- Long longVal = 294423L;
+ long longVal = 294423L;
mixed.put(true, "true");
mixed.put(longVal, longVal); // Float-typed field value
mixed.put(false, "false");
@@ -816,10 +806,10 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
assertNotNull(d);
boolean foundLong = false;
for (Object o : d.getFieldValues("not_in_schema")) {
- if (longVal == o) {
+ if (o.equals(longVal)) {
foundLong = true;
} else {
- assertThat(o, IS_STRING);
+ assertTrue(o instanceof String);
}
mixed.values().remove(o);
}
@@ -840,7 +830,7 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
d = processAdd(chain, doc(f("id", "341"), f(fieldName, booleans.values())));
assertNotNull(d);
for (Object o : d.getFieldValues(fieldName)) {
- assertThat(o, IS_BOOLEAN);
+ assertTrue(o instanceof Boolean);
booleans.remove(o);
}
assertTrue(booleans.isEmpty());
@@ -852,7 +842,7 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
d = processAdd(chain, doc(f("id", "333"), f(fieldName, ints.values())));
assertNotNull(d);
for (Object o : d.getFieldValues(fieldName)) {
- assertThat(o, IS_INTEGER);
+ assertTrue(o instanceof Integer);
ints.remove(o);
}
assertTrue(ints.isEmpty());
@@ -864,7 +854,7 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
d = processAdd(chain, doc(f("id", "342"), f(fieldName, longs.values())));
assertNotNull(d);
for (Object o : d.getFieldValues(fieldName)) {
- assertThat(o, IS_LONG);
+ assertTrue(o instanceof Long);
longs.remove(o);
}
assertTrue(longs.isEmpty());
@@ -880,8 +870,9 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
assertNotNull(d);
for (Object o : d.getFieldValues(fieldName)) {
assertTrue(o instanceof float);
- longs.remove(o);
+ floats.remove(o);
}
+ assertTrue(floats.isEmpty());
*/
Map<Double, String> doubles = new HashMap<>();
@@ -891,20 +882,21 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
d = processAdd(chain, doc(f("id", "342"), f(fieldName, doubles.values())));
assertNotNull(d);
for (Object o : d.getFieldValues(fieldName)) {
- assertThat(o, IS_DOUBLE);
- longs.remove(o);
+ assertTrue(o instanceof Double);
+ doubles.remove(o);
}
+ assertTrue(doubles.isEmpty());
- Map<Date, String> dates = new HashMap<>();
+ Map<Instant, String> dates = new HashMap<>();
String[] dateStrings = {"2020-05-13T18:47", "1989-12-14", "1682-07-22T18:33:00.000Z"};
for (String dateString : dateStrings) {
- dates.put(parse(isoDateOptionalTimeFormatter, dateString), dateString);
+ dates.put(parse(isoDateOptionalTimeFormatter, dateString).toInstant(), dateString);
}
d = processAdd(chain, doc(f("id", "343"), f(fieldName, dates.values())));
assertNotNull(d);
for (Object o : d.getFieldValues(fieldName)) {
- assertThat(o, IS_DATE);
- dates.remove(o);
+ assertTrue(o instanceof Date);
+ dates.remove(((Date) o).toInstant());
}
assertTrue(dates.isEmpty());
@@ -916,7 +908,7 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
d = processAdd(chain, doc(f("id", "344"), f(fieldName, mixedLongsAndDoubles.values())));
assertNotNull(d);
for (Object o : d.getFieldValues(fieldName)) {
- assertThat(o, IS_DOUBLE);
+ assertTrue(o instanceof Double);
mixedLongsAndDoubles.remove(o);
}
assertTrue(mixedLongsAndDoubles.isEmpty());
@@ -930,7 +922,7 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
d = processAdd(chain, doc(f("id", "345"), f(fieldName, mixed)));
assertNotNull(d);
for (Object o : d.getFieldValues(fieldName)) {
- assertThat(o, IS_STRING);
+ assertTrue(o instanceof String);
}
Map<Double, Object> mixedDoubles = new LinkedHashMap<>(); // preserve order
@@ -941,7 +933,7 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
d = processAdd(chain, doc(f("id", "3391"), f(fieldName, mixedDoubles.values())));
assertNotNull(d);
for (Object o : d.getFieldValues(fieldName)) {
- assertThat(o, IS_DOUBLE);
+ assertTrue(o instanceof Double);
mixedDoubles.remove(o);
}
assertTrue(mixedDoubles.isEmpty());
@@ -954,7 +946,7 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
d = processAdd(chain, doc(f("id", "3392"), f(fieldName, mixedInts.values())));
assertNotNull(d);
for (Object o : d.getFieldValues(fieldName)) {
- assertThat(o, IS_INTEGER);
+ assertTrue(o instanceof Integer);
mixedInts.remove(o);
}
assertTrue(mixedInts.isEmpty());
@@ -967,7 +959,7 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
d = processAdd(chain, doc(f("id", "3393"), f(fieldName, mixedLongs.values())));
assertNotNull(d);
for (Object o : d.getFieldValues(fieldName)) {
- assertThat(o, IS_LONG);
+ assertTrue(o instanceof Long);
mixedLongs.remove(o);
}
assertTrue(mixedLongs.isEmpty());
@@ -980,23 +972,23 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
d = processAdd(chain, doc(f("id", "3394"), f(fieldName, mixedBooleans.values())));
assertNotNull(d);
for (Object o : d.getFieldValues(fieldName)) {
- assertThat(o, IS_BOOLEAN);
+ assertTrue(o instanceof Boolean);
mixedBooleans.remove(o);
}
assertTrue(mixedBooleans.isEmpty());
- Map<Date, Object> mixedDates = new HashMap<>();
+ Map<Instant, Object> mixedDates = new HashMap<>();
dateStrings = new String[] {"2020-05-13T18:47", "1989-12-14", "1682-07-22T18:33:00.000Z"};
for (String dateString : dateStrings) {
- mixedDates.put(parse(isoDateOptionalTimeFormatter, dateString), dateString);
+ mixedDates.put(parse(isoDateOptionalTimeFormatter, dateString).toInstant(), dateString);
}
Date extraDate = parse(isoDateOptionalTimeFormatter, "2003-04-24");
- mixedDates.put(extraDate, extraDate); // Date-typed field value
+ mixedDates.put(extraDate.toInstant(), extraDate); // Date-typed field value
d = processAdd(chain, doc(f("id", "3395"), f(fieldName, mixedDates.values())));
assertNotNull(d);
for (Object o : d.getFieldValues(fieldName)) {
- assertThat(o, IS_DATE);
- mixedDates.remove(o);
+ assertTrue(o instanceof Date);
+ mixedDates.remove(((Date) o).toInstant());
}
assertTrue(mixedDates.isEmpty());
}
@@ -1023,10 +1015,9 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
"parse-date-patterns-default-config",
doc(f("id", id), f("date_dt", notInFormatDateString)));
assertNotNull(d);
- assertThat(
+ assertTrue(
"Date string: " + notInFormatDateString + " was not parsed as a date",
- d.getFieldValue("date_dt"),
- IS_DATE);
+ d.getFieldValue("date_dt") instanceof Date);
assertEquals(
notInFormatDateString,
((Date) d.getField("date_dt").getFirstValue()).toInstant().toString());
@@ -1054,10 +1045,9 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
"parse-date-patterns-default-config",
doc(f("id", id), f("date_dt", lenientDateString)));
assertNotNull(d);
- assertThat(
+ assertTrue(
"Date string: " + lenientDateString + " was not parsed as a date",
- d.getFieldValue("date_dt"),
- IS_DATE);
+ d.getFieldValue("date_dt") instanceof Date);
assertEquals(
expectedString, ((Date) d.getField("date_dt").getFirstValue()).toInstant().toString());
++id;
@@ -1186,11 +1176,11 @@ public class ParsingFieldUpdateProcessorsTest extends UpdateProcessorTestBase {
assertNotNull(schema.getFieldOrNull("date_dt")); // should match "*_dt" dynamic field
SolrInputDocument d = processAdd(chain, doc(f("id", "1"), f("date_dt", inputDateString)));
assertNotNull(d);
- assertThat(
+ assertTrue(
"Date string: " + inputDateString + " was not parsed as a date",
- d.getFieldValue("date_dt"),
- IS_DATE);
- assertEquals(expectedDate, d.getField("date_dt").getFirstValue());
+ d.getFieldValue("date_dt") instanceof Date);
+ assertEquals(
+ expectedDate.toInstant(), ((Date) d.getField("date_dt").getFirstValue()).toInstant());
}
private static Date parse(DateTimeFormatter dateTimeFormatter, String dateString) {
diff --git a/solr/core/src/test/org/apache/solr/util/BitSetPerf.java b/solr/core/src/test/org/apache/solr/util/BitSetPerf.java
index f546ff14804..86a815bf428 100644
--- a/solr/core/src/test/org/apache/solr/util/BitSetPerf.java
+++ b/solr/core/src/test/org/apache/solr/util/BitSetPerf.java
@@ -76,7 +76,7 @@ public class BitSetPerf {
if ("union".equals(test)) {
for (int it = 0; it < iter; it++) {
for (int i = 0; i < numSets; i++) {
- if (impl == "open") {
+ if (impl.equals("open")) {
FixedBitSet other = osets[i];
obs.or(other);
} else {
@@ -90,7 +90,7 @@ public class BitSetPerf {
if ("cardinality".equals(test)) {
for (int it = 0; it < iter; it++) {
for (int i = 0; i < numSets; i++) {
- if (impl == "open") {
+ if (impl.equals("open")) {
ret += osets[i].cardinality();
} else {
ret += sets[i].cardinality();
@@ -102,7 +102,7 @@ public class BitSetPerf {
if ("get".equals(test)) {
for (int it = 0; it < iter; it++) {
for (int i = 0; i < numSets; i++) {
- if (impl == "open") {
+ if (impl.equals("open")) {
FixedBitSet oset = osets[i];
for (int k = 0; k < bitSetSize; k++) if (oset.get(k)) ret++;
} else {
@@ -116,7 +116,7 @@ public class BitSetPerf {
if ("icount".equals(test)) {
for (int it = 0; it < iter; it++) {
for (int i = 0; i < numSets - 1; i++) {
- if (impl == "open") {
+ if (impl.equals("open")) {
FixedBitSet a = osets[i];
FixedBitSet b = osets[i + 1];
ret += FixedBitSet.intersectionCount(a, b);
@@ -134,7 +134,7 @@ public class BitSetPerf {
if ("clone".equals(test)) {
for (int it = 0; it < iter; it++) {
for (int i = 0; i < numSets; i++) {
- if (impl == "open") {
+ if (impl.equals("open")) {
osets[i] = osets[i].clone();
} else {
sets[i] = (BitSet) sets[i].clone();
@@ -146,7 +146,7 @@ public class BitSetPerf {
if ("nextSetBit".equals(test)) {
for (int it = 0; it < iter; it++) {
for (int i = 0; i < numSets; i++) {
- if (impl == "open") {
+ if (impl.equals("open")) {
final FixedBitSet set = osets[i];
for (int next = set.nextSetBit(0);
next != DocIdSetIterator.NO_MORE_DOCS;
@@ -166,7 +166,7 @@ public class BitSetPerf {
if ("iterator".equals(test)) {
for (int it = 0; it < iter; it++) {
for (int i = 0; i < numSets; i++) {
- if (impl == "open") {
+ if (impl.equals("open")) {
final FixedBitSet set = osets[i];
final BitSetIterator iterator = new BitSetIterator(set, 0);
for (int next = iterator.nextDoc(); next >= 0; next = iterator.nextDoc()) {
diff --git a/solr/core/src/test/org/apache/solr/util/ModuleUtilsTest.java b/solr/core/src/test/org/apache/solr/util/ModuleUtilsTest.java
index 45120027c57..957c7268af4 100644
--- a/solr/core/src/test/org/apache/solr/util/ModuleUtilsTest.java
+++ b/solr/core/src/test/org/apache/solr/util/ModuleUtilsTest.java
@@ -64,12 +64,13 @@ public class ModuleUtilsTest extends TestCase {
public void testResolveModules() {
assertEquals(
Set.of("foo", "bar", "baz", "mod1"),
- ModuleUtils.resolveModulesFromStringOrSyspropOrEnv("foo ,bar, baz,mod1"));
- assertEquals(Collections.emptySet(), ModuleUtils.resolveModulesFromStringOrSyspropOrEnv(""));
+ Set.copyOf(ModuleUtils.resolveModulesFromStringOrSyspropOrEnv("foo ,bar, baz,mod1")));
+ assertEquals(
+ Collections.emptySet(), Set.copyOf(ModuleUtils.resolveModulesFromStringOrSyspropOrEnv("")));
System.setProperty("solr.modules", "foo ,bar, baz,mod1");
assertEquals(
Set.of("foo", "bar", "baz", "mod1"),
- ModuleUtils.resolveModulesFromStringOrSyspropOrEnv(null));
+ Set.copyOf(ModuleUtils.resolveModulesFromStringOrSyspropOrEnv(null)));
System.clearProperty("solr.modules");
}
diff --git a/solr/core/src/test/org/apache/solr/util/tracing/TestHttpServletCarrier.java b/solr/core/src/test/org/apache/solr/util/tracing/TestHttpServletCarrier.java
index dfbb84312f9..bd19112208e 100644
--- a/solr/core/src/test/org/apache/solr/util/tracing/TestHttpServletCarrier.java
+++ b/solr/core/src/test/org/apache/solr/util/tracing/TestHttpServletCarrier.java
@@ -21,13 +21,13 @@ import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
-import com.google.common.collect.HashMultimap;
-import com.google.common.collect.Multimap;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.collections4.IteratorUtils;
+import org.apache.commons.collections4.MultiValuedMap;
+import org.apache.commons.collections4.multimap.HashSetValuedHashMap;
import org.apache.solr.SolrTestCaseJ4;
import org.junit.Test;
import org.mockito.stubbing.Answer;
@@ -38,7 +38,7 @@ public class TestHttpServletCarrier extends SolrTestCaseJ4 {
public void test() {
SolrTestCaseJ4.assumeWorkingMockito();
HttpServletRequest req = mock(HttpServletRequest.class);
- Multimap<String, String> headers = HashMultimap.create();
+ MultiValuedMap<String, String> headers = new HashSetValuedHashMap<>();
headers.put("a", "a");
headers.put("a", "b");
headers.put("a", "c");
@@ -57,7 +57,7 @@ public class TestHttpServletCarrier extends SolrTestCaseJ4 {
HttpServletCarrier servletCarrier = new HttpServletCarrier(req);
Iterator<Map.Entry<String, String>> it = servletCarrier.iterator();
- Multimap<String, String> resultBack = HashMultimap.create();
+ MultiValuedMap<String, String> resultBack = new HashSetValuedHashMap<>();
while (it.hasNext()) {
Map.Entry<String, String> entry = it.next();
resultBack.put(entry.getKey(), entry.getValue());
diff --git a/solr/modules/analysis-extras/src/test/org/apache/solr/update/processor/TestOpenNLPExtractNamedEntitiesUpdateProcessorFactory.java b/solr/modules/analysis-extras/src/test/org/apache/solr/update/processor/TestOpenNLPExtractNamedEntitiesUpdateProcessorFactory.java
index 78c73ab1b29..46b219dedde 100644
--- a/solr/modules/analysis-extras/src/test/org/apache/solr/update/processor/TestOpenNLPExtractNamedEntitiesUpdateProcessorFactory.java
+++ b/solr/modules/analysis-extras/src/test/org/apache/solr/update/processor/TestOpenNLPExtractNamedEntitiesUpdateProcessorFactory.java
@@ -18,7 +18,7 @@
package org.apache.solr.update.processor;
import java.io.File;
-import java.util.Arrays;
+import java.util.List;
import org.apache.commons.io.FileUtils;
import org.apache.solr.common.SolrInputDocument;
import org.junit.BeforeClass;
@@ -52,7 +52,7 @@ public class TestOpenNLPExtractNamedEntitiesUpdateProcessorFactory extends Updat
f("source1_s", "Hello Flashman."),
f("source2_s", "Calling Flashman.")));
- assertEquals(Arrays.asList("Flashman", "Flashman"), doc.getFieldValues("dest_s"));
+ assertEquals(List.of("Flashman", "Flashman"), List.copyOf(doc.getFieldValues("dest_s")));
}
@Test
@@ -65,7 +65,7 @@ public class TestOpenNLPExtractNamedEntitiesUpdateProcessorFactory extends Updat
f("source1_s", "Currently we have Flashman. Not much else."),
f("source2_s", "Flashman. Is. Not. There.")));
- assertEquals(Arrays.asList("Flashman", "Flashman"), doc.getFieldValues("dest_s"));
+ assertEquals(List.of("Flashman", "Flashman"), List.copyOf(doc.getFieldValues("dest_s")));
}
@Test
@@ -79,7 +79,7 @@ public class TestOpenNLPExtractNamedEntitiesUpdateProcessorFactory extends Updat
f("source1_s", "Serendipitously, he was. I mean, Flashman. And yet."),
f("source2_s", "Correct, Flashman.")));
- assertEquals(Arrays.asList("Flashman", "Flashman"), doc.getFieldValues("dest_s"));
+ assertEquals(List.of("Flashman", "Flashman"), List.copyOf(doc.getFieldValues("dest_s")));
}
public void testMultipleExtracts() throws Exception {
@@ -98,13 +98,15 @@ public class TestOpenNLPExtractNamedEntitiesUpdateProcessorFactory extends Updat
f("descs", "Courage, Flashman.", "Ain't he Flashman."),
f("descriptions", "Flashman. Flashman. Flashman.")));
- assertEquals(Arrays.asList("Flashman", "Flashman"), doc.getFieldValues("people_s"));
+ assertEquals(List.of("Flashman", "Flashman"), List.copyOf(doc.getFieldValues("people_s")));
assertEquals(
- Arrays.asList("Flashman", "Flashman", "Flashman"), doc.getFieldValues("titular_people"));
- assertEquals(Arrays.asList("Flashman", "Flashman"), doc.getFieldValues("key_desc_people"));
+ List.of("Flashman", "Flashman", "Flashman"),
+ List.copyOf(doc.getFieldValues("titular_people")));
assertEquals(
- Arrays.asList("Flashman", "Flashman", "Flashman"),
- doc.getFieldValues("key_description_people"));
+ List.of("Flashman", "Flashman"), List.copyOf(doc.getFieldValues("key_desc_people")));
+ assertEquals(
+ List.of("Flashman", "Flashman", "Flashman"),
+ List.copyOf(doc.getFieldValues("key_description_people")));
assertEquals(
"Flashman", doc.getFieldValue("summary_person_s")); // {EntityType} field name interpolation
assertEquals(
@@ -116,7 +118,7 @@ public class TestOpenNLPExtractNamedEntitiesUpdateProcessorFactory extends Updat
// regardless of chain, all of these checks should be equivalent
for (String chain :
- Arrays.asList(
+ List.of(
"extract-single",
"extract-single-regex",
"extract-multi",
@@ -135,7 +137,7 @@ public class TestOpenNLPExtractNamedEntitiesUpdateProcessorFactory extends Updat
f("source0_s", "Totally Flashman."), // not extracted
f("source1_s", "One nation under Flashman.", "Good Flashman.")));
assertNotNull(chain, d);
- assertEquals(chain, Arrays.asList("Flashman", "Flashman"), d.getFieldValues("dest_s"));
+ assertEquals(chain, List.of("Flashman", "Flashman"), List.copyOf(d.getFieldValues("dest_s")));
// append to existing values
d =
@@ -149,13 +151,13 @@ public class TestOpenNLPExtractNamedEntitiesUpdateProcessorFactory extends Updat
assertNotNull(chain, d);
assertEquals(
chain,
- Arrays.asList("orig1", "orig2", "Flashman", "Flashman"),
- d.getFieldValues("dest_s"));
+ List.of("orig1", "orig2", "Flashman", "Flashman"),
+ List.copyOf(d.getFieldValues("dest_s")));
}
// should be equivalent for any chain matching source1_s and source2_s (but not source0_s)
for (String chain :
- Arrays.asList(
+ List.of(
"extract-multi",
"extract-multi-regex",
"extract-array",
@@ -174,7 +176,9 @@ public class TestOpenNLPExtractNamedEntitiesUpdateProcessorFactory extends Updat
f("source2_s", "Indubitably Flashman.")));
assertNotNull(chain, d);
assertEquals(
- chain, Arrays.asList("Flashman", "Flashman", "Flashman"), d.getFieldValues("dest_s"));
+ chain,
+ List.of("Flashman", "Flashman", "Flashman"),
+ List.copyOf(d.getFieldValues("dest_s")));
// append to existing values
d =
@@ -189,13 +193,13 @@ public class TestOpenNLPExtractNamedEntitiesUpdateProcessorFactory extends Updat
assertNotNull(chain, d);
assertEquals(
chain,
- Arrays.asList("orig1", "orig2", "Flashman", "Flashman", "Flashman"),
- d.getFieldValues("dest_s"));
+ List.of("orig1", "orig2", "Flashman", "Flashman", "Flashman"),
+ List.copyOf(d.getFieldValues("dest_s")));
}
// any chain that copies source1_s to dest_s should be equivalent for these assertions
for (String chain :
- Arrays.asList(
+ List.of(
"extract-single",
"extract-single-regex",
"extract-multi",
@@ -211,7 +215,7 @@ public class TestOpenNLPExtractNamedEntitiesUpdateProcessorFactory extends Updat
chain,
doc(f("id", "1111"), f("source1_s", "Always Flashman.", "Flashman. Noone else.")));
assertNotNull(chain, d);
- assertEquals(chain, Arrays.asList("Flashman", "Flashman"), d.getFieldValues("dest_s"));
+ assertEquals(chain, List.of("Flashman", "Flashman"), List.copyOf(d.getFieldValues("dest_s")));
// append to existing values
d =
@@ -224,8 +228,8 @@ public class TestOpenNLPExtractNamedEntitiesUpdateProcessorFactory extends Updat
assertNotNull(chain, d);
assertEquals(
chain,
- Arrays.asList("orig1", "orig2", "Flashman", "Flashman"),
- d.getFieldValues("dest_s"));
+ List.of("orig1", "orig2", "Flashman", "Flashman"),
+ List.copyOf(d.getFieldValues("dest_s")));
}
}
@@ -239,7 +243,7 @@ public class TestOpenNLPExtractNamedEntitiesUpdateProcessorFactory extends Updat
f("foo_x3_x7_s", "Flashman. Whoa.")));
assertNotNull(d);
- assertEquals(Arrays.asList("Flashman", "Flashman"), d.getFieldValues("foo_y2_s"));
+ assertEquals(List.of("Flashman", "Flashman"), List.copyOf(d.getFieldValues("foo_y2_s")));
assertEquals("Flashman", d.getFieldValue("foo_y3_y7_s"));
}
@@ -258,12 +262,12 @@ public class TestOpenNLPExtractNamedEntitiesUpdateProcessorFactory extends Updat
assertNotNull(d);
assertEquals(
d.getFieldNames().toString(),
- Arrays.asList("Flashman", "Flashman"),
- d.getFieldValues("foo_person_y2_s"));
+ List.of("Flashman", "Flashman"),
+ List.copyOf(d.getFieldValues("foo_person_y2_s")));
assertEquals(
d.getFieldNames().toString(),
- Arrays.asList("London", "London"),
- d.getFieldValues("foo_location_y2_s"));
+ List.of("London", "London"),
+ List.copyOf(d.getFieldValues("foo_location_y2_s")));
assertEquals(
d.getFieldNames().toString(), "Flashman", d.getFieldValue("foo_person_y3_person_y7_s"));
assertEquals(
diff --git a/solr/modules/analytics/src/java/org/apache/solr/analytics/ExpressionFactory.java b/solr/modules/analytics/src/java/org/apache/solr/analytics/ExpressionFactory.java
index 88320fe183f..d72126792f6 100644
--- a/solr/modules/analytics/src/java/org/apache/solr/analytics/ExpressionFactory.java
+++ b/solr/modules/analytics/src/java/org/apache/solr/analytics/ExpressionFactory.java
@@ -900,7 +900,7 @@ public class ExpressionFactory {
}
if (c == variableForEachSep && !quoteOn && varLengthParamName != null) {
int varStart = param.length() - varLengthParamName.length();
- if (param.subSequence(varStart, param.length()).equals(varLengthParamName)) {
+ if (varLengthParamName.contentEquals(param.subSequence(varStart, param.length()))) {
inForEach = true;
forEachStart = i;
forEachIter = 0;
diff --git a/solr/modules/analytics/src/test/org/apache/solr/analytics/function/mapping/BottomFunctionTest.java b/solr/modules/analytics/src/test/org/apache/solr/analytics/function/mapping/BottomFunctionTest.java
index 03726faeab6..3454d254462 100644
--- a/solr/modules/analytics/src/test/org/apache/solr/analytics/function/mapping/BottomFunctionTest.java
+++ b/solr/modules/analytics/src/test/org/apache/solr/analytics/function/mapping/BottomFunctionTest.java
@@ -159,7 +159,8 @@ public class BottomFunctionTest extends SolrTestCaseJ4 {
// One exists
val.setValues("1950-05-03T10:30:50Z");
- assertEquals(Date.from(Instant.parse("1950-05-03T10:30:50Z")), func.getDate());
+ assertEquals(
+ Date.from(Instant.parse("1950-05-03T10:30:50Z")).toInstant(), func.getDate().toInstant());
assertTrue(func.exists());
// Both exist
@@ -168,7 +169,8 @@ public class BottomFunctionTest extends SolrTestCaseJ4 {
"2200-01-01T10:00:50Z",
"1800-12-31T11:30:50Z",
"1930-05-020T10:45:50Z");
- assertEquals(Date.from(Instant.parse("1800-12-31T11:30:50Z")), func.getDate());
+ assertEquals(
+ Date.from(Instant.parse("1800-12-31T11:30:50Z")).toInstant(), func.getDate().toInstant());
assertTrue(func.exists());
}
@@ -370,7 +372,8 @@ public class BottomFunctionTest extends SolrTestCaseJ4 {
val2.setValue("1950-05-03T10:30:50Z").setExists(true);
val3.setValue("0000-05-03T10:30:50Z").setExists(false);
val4.setValue("1850-05-03T10:30:50Z").setExists(true);
- assertEquals(Date.from(Instant.parse("1850-05-03T10:30:50Z")), func.getDate());
+ assertEquals(
+ Date.from(Instant.parse("1850-05-03T10:30:50Z")).toInstant(), func.getDate().toInstant());
assertTrue(func.exists());
// All exist values, one value
@@ -378,7 +381,8 @@ public class BottomFunctionTest extends SolrTestCaseJ4 {
val2.setValue("1950-05-03T10:30:50Z").setExists(true);
val3.setValue("1700-05-03T10:30:50Z").setExists(true);
val4.setValue("1850-05-03T10:30:50Z").setExists(true);
- assertEquals(Date.from(Instant.parse("1700-05-03T10:30:50Z")), func.getDate());
+ assertEquals(
+ Date.from(Instant.parse("1700-05-03T10:30:50Z")).toInstant(), func.getDate().toInstant());
assertTrue(func.exists());
}
diff --git a/solr/modules/analytics/src/test/org/apache/solr/analytics/function/mapping/DateMathFunctionTest.java b/solr/modules/analytics/src/test/org/apache/solr/analytics/function/mapping/DateMathFunctionTest.java
index ec0d6b2e6ab..316bbb902a8 100644
--- a/solr/modules/analytics/src/test/org/apache/solr/analytics/function/mapping/DateMathFunctionTest.java
+++ b/solr/modules/analytics/src/test/org/apache/solr/analytics/function/mapping/DateMathFunctionTest.java
@@ -18,9 +18,9 @@ package org.apache.solr.analytics.function.mapping;
import java.time.Instant;
import java.time.format.DateTimeParseException;
-import java.util.Arrays;
import java.util.Date;
import java.util.Iterator;
+import java.util.List;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.analytics.value.AnalyticsValueStream;
import org.apache.solr.analytics.value.DateValue;
@@ -58,13 +58,13 @@ public class DateMathFunctionTest extends SolrTestCaseJ4 {
// Value exists
val.setValue("1800-01-01T10:30:15Z").setExists(true);
- assertEquals(date1, func.getDate());
+ assertEquals(date1.toInstant(), func.getDate().toInstant());
assertTrue(func.exists());
assertEquals(date1.getTime(), func.getLong());
assertTrue(func.exists());
val.setValue("1920-04-15T18:15:45Z").setExists(true);
- assertEquals(date2, func.getDate());
+ assertEquals(date2.toInstant(), func.getDate().toInstant());
assertTrue(func.exists());
assertEquals(date2.getTime(), func.getLong());
assertTrue(func.exists());
@@ -92,23 +92,23 @@ public class DateMathFunctionTest extends SolrTestCaseJ4 {
val.setValues();
func.streamDates(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
func.streamLongs(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
// One value
val.setValues("1800-01-01T10:30:15Z");
- Iterator<Date> values1 = Arrays.asList(date1).iterator();
+ Iterator<Date> values1 = List.of(date1).iterator();
func.streamDates(
value -> {
assertTrue(values1.hasNext());
- assertEquals(values1.next(), value);
+ assertEquals(values1.next().toInstant(), value.toInstant());
});
assertFalse(values1.hasNext());
- Iterator<Long> times1 = Arrays.asList(date1.getTime()).iterator();
+ Iterator<Long> times1 = List.of(date1.getTime()).iterator();
func.streamLongs(
value -> {
assertTrue(times1.hasNext());
@@ -118,15 +118,14 @@ public class DateMathFunctionTest extends SolrTestCaseJ4 {
// Multiple values
val.setValues("1800-01-01T10:30:15Z", "1920-04-15T18:15:45Z", "2012-11-30T20:30:15Z");
- Iterator<Date> values2 = Arrays.asList(date1, date2, date3).iterator();
+ Iterator<Date> values2 = List.of(date1, date2, date3).iterator();
func.streamDates(
value -> {
assertTrue(values2.hasNext());
- assertEquals(values2.next(), value);
+ assertEquals(values2.next().toInstant(), value.toInstant());
});
assertFalse(values2.hasNext());
- Iterator<Long> times2 =
- Arrays.asList(date1.getTime(), date2.getTime(), date3.getTime()).iterator();
+ Iterator<Long> times2 = List.of(date1.getTime(), date2.getTime(), date3.getTime()).iterator();
func.streamLongs(
value -> {
assertTrue(times2.hasNext());
diff --git a/solr/modules/analytics/src/test/org/apache/solr/analytics/function/mapping/DateParseFunctionTest.java b/solr/modules/analytics/src/test/org/apache/solr/analytics/function/mapping/DateParseFunctionTest.java
index 2249bb2dab8..0c9d8b273ca 100644
--- a/solr/modules/analytics/src/test/org/apache/solr/analytics/function/mapping/DateParseFunctionTest.java
+++ b/solr/modules/analytics/src/test/org/apache/solr/analytics/function/mapping/DateParseFunctionTest.java
@@ -18,9 +18,9 @@ package org.apache.solr.analytics.function.mapping;
import java.time.Instant;
import java.time.format.DateTimeParseException;
-import java.util.Arrays;
import java.util.Date;
import java.util.Iterator;
+import java.util.List;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.analytics.value.AnalyticsValueStream;
import org.apache.solr.analytics.value.DateValue;
@@ -53,13 +53,13 @@ public class DateParseFunctionTest extends SolrTestCaseJ4 {
// Value exists
val.setValue(date1.getTime()).setExists(true);
- assertEquals(date1, func.getDate());
+ assertEquals(date1.toInstant(), func.getDate().toInstant());
assertTrue(func.exists());
assertEquals(date1.getTime(), func.getLong());
assertTrue(func.exists());
val.setValue(date2.getTime()).setExists(true);
- assertEquals(date2, func.getDate());
+ assertEquals(date2.toInstant(), func.getDate().toInstant());
assertTrue(func.exists());
assertEquals(date2.getTime(), func.getLong());
assertTrue(func.exists());
@@ -104,13 +104,13 @@ public class DateParseFunctionTest extends SolrTestCaseJ4 {
// Value exists
val.setValue("1800-01-01T10:30:15Z").setExists(true);
- assertEquals(date1, func.getDate());
+ assertEquals(date1.toInstant(), func.getDate().toInstant());
assertTrue(func.exists());
assertEquals(date1.getTime(), func.getLong());
assertTrue(func.exists());
val.setValue("1920-04-15T18:15:45Z").setExists(true);
- assertEquals(date2, func.getDate());
+ assertEquals(date2.toInstant(), func.getDate().toInstant());
assertTrue(func.exists());
assertEquals(date2.getTime(), func.getLong());
assertTrue(func.exists());
@@ -132,23 +132,23 @@ public class DateParseFunctionTest extends SolrTestCaseJ4 {
val.setValues();
func.streamDates(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
func.streamLongs(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
// One value
val.setValues(date1.getTime());
- Iterator<Date> values1 = Arrays.asList(date1).iterator();
+ Iterator<Date> values1 = List.of(date1).iterator();
func.streamDates(
value -> {
assertTrue(values1.hasNext());
- assertEquals(values1.next(), value);
+ assertEquals(values1.next().toInstant(), value.toInstant());
});
assertFalse(values1.hasNext());
- Iterator<Long> times1 = Arrays.asList(date1.getTime()).iterator();
+ Iterator<Long> times1 = List.of(date1.getTime()).iterator();
func.streamLongs(
value -> {
assertTrue(times1.hasNext());
@@ -158,15 +158,14 @@ public class DateParseFunctionTest extends SolrTestCaseJ4 {
// Multiple values
val.setValues(date1.getTime(), date2.getTime(), date3.getTime());
- Iterator<Date> values2 = Arrays.asList(date1, date2, date3).iterator();
+ Iterator<Date> values2 = List.of(date1, date2, date3).iterator();
func.streamDates(
value -> {
assertTrue(values2.hasNext());
- assertEquals(values2.next(), value);
+ assertEquals(values2.next().toInstant(), value.toInstant());
});
assertFalse(values2.hasNext());
- Iterator<Long> times2 =
- Arrays.asList(date1.getTime(), date2.getTime(), date3.getTime()).iterator();
+ Iterator<Long> times2 = List.of(date1.getTime(), date2.getTime(), date3.getTime()).iterator();
func.streamLongs(
value -> {
assertTrue(times2.hasNext());
@@ -191,54 +190,54 @@ public class DateParseFunctionTest extends SolrTestCaseJ4 {
val.setValues();
func.streamDates(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
func.streamLongs(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
// Incorrect value
val.setValues("10:30:15Z");
func.streamDates(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
func.streamLongs(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
val.setValues("01-33T10:30:15Z");
func.streamDates(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
func.streamLongs(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
val.setValues("1800-01T30:30:15Z");
func.streamDates(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
func.streamLongs(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
// One value
val.setValues("1800-01-01T10:30:15Z");
- Iterator<Date> values1 = Arrays.asList(date1).iterator();
+ Iterator<Date> values1 = List.of(date1).iterator();
func.streamDates(
value -> {
assertTrue(values1.hasNext());
- assertEquals(values1.next(), value);
+ assertEquals(values1.next().toInstant(), value.toInstant());
});
assertFalse(values1.hasNext());
- Iterator<Long> times1 = Arrays.asList(date1.getTime()).iterator();
+ Iterator<Long> times1 = List.of(date1.getTime()).iterator();
func.streamLongs(
value -> {
assertTrue(times1.hasNext());
@@ -248,15 +247,14 @@ public class DateParseFunctionTest extends SolrTestCaseJ4 {
// Multiple values
val.setValues("1800-01-01T10:30:15Z", "1920-04-15T18:15:45Z", "2012-11-30T20:30:15Z");
- Iterator<Date> values2 = Arrays.asList(date1, date2, date3).iterator();
+ Iterator<Date> values2 = List.of(date1, date2, date3).iterator();
func.streamDates(
value -> {
assertTrue(values2.hasNext());
- assertEquals(values2.next(), value);
+ assertEquals(values2.next().toInstant(), value.toInstant());
});
assertFalse(values2.hasNext());
- Iterator<Long> times2 =
- Arrays.asList(date1.getTime(), date2.getTime(), date3.getTime()).iterator();
+ Iterator<Long> times2 = List.of(date1.getTime(), date2.getTime(), date3.getTime()).iterator();
func.streamLongs(
value -> {
assertTrue(times2.hasNext());
diff --git a/solr/modules/analytics/src/test/org/apache/solr/analytics/function/mapping/IfFunctionTest.java b/solr/modules/analytics/src/test/org/apache/solr/analytics/function/mapping/IfFunctionTest.java
index 202ed4b4eeb..92a3c08e10d 100644
--- a/solr/modules/analytics/src/test/org/apache/solr/analytics/function/mapping/IfFunctionTest.java
+++ b/solr/modules/analytics/src/test/org/apache/solr/analytics/function/mapping/IfFunctionTest.java
@@ -276,7 +276,7 @@ public class IfFunctionTest extends SolrTestCaseJ4 {
assertTrue(func.exists());
cond.setValue(false).setExists(true);
- then.setValue(234l).setExists(true);
+ then.setValue(234L).setExists(true);
els.setValue(-23423L).setExists(true);
assertEquals(-23423L, func.getLong());
assertTrue(func.exists());
@@ -537,7 +537,7 @@ public class IfFunctionTest extends SolrTestCaseJ4 {
cond.setValue(false).setExists(true);
then.setValue("abc123").setExists(true);
els.setValue(new Date(3214)).setExists(true);
- assertEquals(new Date(3214), func.getObject());
+ assertEquals(new Date(3214).toInstant(), ((Date) func.getObject()).toInstant());
assertTrue(func.exists());
}
@@ -558,7 +558,7 @@ public class IfFunctionTest extends SolrTestCaseJ4 {
els.setValues();
func.streamBooleans(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
cond.setExists(false);
@@ -566,7 +566,7 @@ public class IfFunctionTest extends SolrTestCaseJ4 {
els.setValues(true, true, true, false);
func.streamBooleans(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
// Result doesn't exist
@@ -575,7 +575,7 @@ public class IfFunctionTest extends SolrTestCaseJ4 {
els.setValues(true, true, true, false);
func.streamBooleans(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
cond.setValue(false).setExists(true);
@@ -583,7 +583,7 @@ public class IfFunctionTest extends SolrTestCaseJ4 {
els.setValues();
func.streamBooleans(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
// Values exist
@@ -627,7 +627,7 @@ public class IfFunctionTest extends SolrTestCaseJ4 {
els.setValues();
func.streamInts(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
cond.setExists(false);
@@ -635,7 +635,7 @@ public class IfFunctionTest extends SolrTestCaseJ4 {
els.setValues(0, 1, -2, 3);
func.streamInts(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
// Result doesn't exist
@@ -644,7 +644,7 @@ public class IfFunctionTest extends SolrTestCaseJ4 {
els.setValues(0, 1, -2, 3);
func.streamInts(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
cond.setValue(false).setExists(true);
@@ -652,7 +652,7 @@ public class IfFunctionTest extends SolrTestCaseJ4 {
els.setValues();
func.streamInts(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
// Values exist
@@ -696,7 +696,7 @@ public class IfFunctionTest extends SolrTestCaseJ4 {
els.setValues();
func.streamLongs(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
cond.setExists(false);
@@ -704,7 +704,7 @@ public class IfFunctionTest extends SolrTestCaseJ4 {
els.setValues(0L, 1L, -2L, 3L);
func.streamLongs(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
// Result doesn't exist
@@ -713,7 +713,7 @@ public class IfFunctionTest extends SolrTestCaseJ4 {
els.setValues(0L, 1L, -2L, 3L);
func.streamLongs(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
cond.setValue(false).setExists(true);
@@ -721,7 +721,7 @@ public class IfFunctionTest extends SolrTestCaseJ4 {
els.setValues();
func.streamLongs(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
// Values exist
@@ -765,7 +765,7 @@ public class IfFunctionTest extends SolrTestCaseJ4 {
els.setValues();
func.streamFloats(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
cond.setExists(false);
@@ -773,7 +773,7 @@ public class IfFunctionTest extends SolrTestCaseJ4 {
els.setValues(.1111F, -.22222F, .333F);
func.streamFloats(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
// Result doesn't exist
@@ -782,7 +782,7 @@ public class IfFunctionTest extends SolrTestCaseJ4 {
els.setValues(.1111F, -.22222F, .333F);
func.streamFloats(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
cond.setValue(false).setExists(true);
@@ -790,7 +790,7 @@ public class IfFunctionTest extends SolrTestCaseJ4 {
els.setValues();
func.streamFloats(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
// Values exist
@@ -834,7 +834,7 @@ public class IfFunctionTest extends SolrTestCaseJ4 {
els.setValues();
func.streamDoubles(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
cond.setExists(false);
@@ -842,7 +842,7 @@ public class IfFunctionTest extends SolrTestCaseJ4 {
els.setValues(.1111, -.22222, .333);
func.streamDoubles(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
// Result doesn't exist
@@ -851,7 +851,7 @@ public class IfFunctionTest extends SolrTestCaseJ4 {
els.setValues(.1111, -.22222, .333);
func.streamDoubles(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
cond.setValue(false).setExists(true);
@@ -859,7 +859,7 @@ public class IfFunctionTest extends SolrTestCaseJ4 {
els.setValues();
func.streamDoubles(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
// Values exist
@@ -907,7 +907,7 @@ public class IfFunctionTest extends SolrTestCaseJ4 {
els.setValues();
func.streamLongs(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
cond.setExists(false);
@@ -915,7 +915,7 @@ public class IfFunctionTest extends SolrTestCaseJ4 {
els.setValues("2023-11-01T20:30:15Z", "1931-03-16T18:15:45Z");
func.streamLongs(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
// Result doesn't exist
@@ -924,7 +924,7 @@ public class IfFunctionTest extends SolrTestCaseJ4 {
els.setValues("2023-11-01T20:30:15Z", "1931-03-16T18:15:45Z");
func.streamLongs(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
cond.setValue(false).setExists(true);
@@ -932,7 +932,7 @@ public class IfFunctionTest extends SolrTestCaseJ4 {
els.setValues();
func.streamLongs(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
// Values exist
@@ -977,7 +977,7 @@ public class IfFunctionTest extends SolrTestCaseJ4 {
els.setValues();
func.streamStrings(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
cond.setExists(false);
@@ -985,7 +985,7 @@ public class IfFunctionTest extends SolrTestCaseJ4 {
els.setValues("this", "is", "a", "sentence");
func.streamStrings(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
// Result doesn't exist
@@ -994,7 +994,7 @@ public class IfFunctionTest extends SolrTestCaseJ4 {
els.setValues("this", "is", "a", "sentence");
func.streamStrings(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
cond.setValue(false).setExists(true);
@@ -1002,7 +1002,7 @@ public class IfFunctionTest extends SolrTestCaseJ4 {
els.setValues();
func.streamStrings(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
// Values exist
@@ -1044,7 +1044,7 @@ public class IfFunctionTest extends SolrTestCaseJ4 {
els.setValues();
func.streamObjects(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
cond.setExists(false);
@@ -1052,7 +1052,7 @@ public class IfFunctionTest extends SolrTestCaseJ4 {
els.setValues(324923.0234F, 123, Boolean.TRUE, "if statement");
func.streamObjects(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
// Result doesn't exist
@@ -1061,7 +1061,7 @@ public class IfFunctionTest extends SolrTestCaseJ4 {
els.setValues(324923.0234F, 123, Boolean.TRUE, "if statement");
func.streamObjects(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
cond.setValue(false).setExists(true);
@@ -1069,7 +1069,7 @@ public class IfFunctionTest extends SolrTestCaseJ4 {
els.setValues();
func.streamObjects(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
// Values exist
diff --git a/solr/modules/analytics/src/test/org/apache/solr/analytics/function/mapping/ReplaceFunctionTest.java b/solr/modules/analytics/src/test/org/apache/solr/analytics/function/mapping/ReplaceFunctionTest.java
index 5bb04f09021..4f732bcdbea 100644
--- a/solr/modules/analytics/src/test/org/apache/solr/analytics/function/mapping/ReplaceFunctionTest.java
+++ b/solr/modules/analytics/src/test/org/apache/solr/analytics/function/mapping/ReplaceFunctionTest.java
@@ -549,11 +549,11 @@ public class ReplaceFunctionTest extends SolrTestCaseJ4 {
comp.setValue(1234).setExists(true);
fill.setValue("not used").setExists(true);
- assertEquals(new Date(1234), func.getObject());
+ assertEquals(new Date(1234).toInstant(), ((Date) func.getObject()).toInstant());
assertTrue(func.exists());
fill.setExists(false);
- assertEquals(new Date(1234), func.getObject());
+ assertEquals(new Date(1234).toInstant(), ((Date) func.getObject()).toInstant());
assertTrue(func.exists());
// Comp == Val
diff --git a/solr/modules/analytics/src/test/org/apache/solr/analytics/function/mapping/TopFunctionTest.java b/solr/modules/analytics/src/test/org/apache/solr/analytics/function/mapping/TopFunctionTest.java
index 3f7ef037d8f..68d9a790219 100644
--- a/solr/modules/analytics/src/test/org/apache/solr/analytics/function/mapping/TopFunctionTest.java
+++ b/solr/modules/analytics/src/test/org/apache/solr/analytics/function/mapping/TopFunctionTest.java
@@ -159,7 +159,8 @@ public class TopFunctionTest extends SolrTestCaseJ4 {
// One exists
val.setValues("1950-05-03T10:30:50Z");
- assertEquals(Date.from(Instant.parse("1950-05-03T10:30:50Z")), func.getDate());
+ assertEquals(
+ Date.from(Instant.parse("1950-05-03T10:30:50Z")).toInstant(), func.getDate().toInstant());
assertTrue(func.exists());
// Both exist
@@ -168,7 +169,8 @@ public class TopFunctionTest extends SolrTestCaseJ4 {
"2200-01-01T10:00:50Z",
"1800-12-31T11:30:50Z",
"1930-05-020T10:45:50Z");
- assertEquals(Date.from(Instant.parse("2200-01-01T10:00:50Z")), func.getDate());
+ assertEquals(
+ Date.from(Instant.parse("2200-01-01T10:00:50Z")).toInstant(), func.getDate().toInstant());
assertTrue(func.exists());
}
@@ -370,7 +372,8 @@ public class TopFunctionTest extends SolrTestCaseJ4 {
val2.setValue("1950-05-03T10:30:50Z").setExists(true);
val3.setValue("0000-05-03T10:30:50Z").setExists(false);
val4.setValue("1850-05-03T10:30:50Z").setExists(true);
- assertEquals(Date.from(Instant.parse("1950-05-03T10:30:50Z")), func.getDate());
+ assertEquals(
+ Date.from(Instant.parse("1950-05-03T10:30:50Z")).toInstant(), func.getDate().toInstant());
assertTrue(func.exists());
// All exist values, one value
@@ -378,7 +381,8 @@ public class TopFunctionTest extends SolrTestCaseJ4 {
val2.setValue("1950-05-03T10:30:50Z").setExists(true);
val3.setValue("1700-05-03T10:30:50Z").setExists(true);
val4.setValue("1850-05-03T10:30:50Z").setExists(true);
- assertEquals(Date.from(Instant.parse("2200-05-03T10:30:50Z")), func.getDate());
+ assertEquals(
+ Date.from(Instant.parse("2200-05-03T10:30:50Z")).toInstant(), func.getDate().toInstant());
assertTrue(func.exists());
}
diff --git a/solr/modules/analytics/src/test/org/apache/solr/analytics/legacy/expression/LegacyExpressionTest.java b/solr/modules/analytics/src/test/org/apache/solr/analytics/legacy/expression/LegacyExpressionTest.java
index 668bfb630fe..3ef90232559 100644
--- a/solr/modules/analytics/src/test/org/apache/solr/analytics/legacy/expression/LegacyExpressionTest.java
+++ b/solr/modules/analytics/src/test/org/apache/solr/analytics/legacy/expression/LegacyExpressionTest.java
@@ -168,8 +168,8 @@ public class LegacyExpressionTest extends LegacyAbstractAnalyticsTest {
String dateMath = (String) getStatResult("dmr", "dmme", VAL_TYPE.DATE);
assertEquals(
getRawResponse(),
- new Date(Instant.parse(dateMath).toEpochMilli()),
- dateMathParser.parseMath(math));
+ new Date(Instant.parse(dateMath).toEpochMilli()).toInstant(),
+ dateMathParser.parseMath(math).toInstant());
math = (String) getStatResult("dmr", "cma", VAL_TYPE.STRING);
dateMathParser = new DateMathParser();
@@ -179,8 +179,8 @@ public class LegacyExpressionTest extends LegacyAbstractAnalyticsTest {
dateMath = (String) getStatResult("dmr", "dmma", VAL_TYPE.DATE);
assertEquals(
getRawResponse(),
- new Date(Instant.parse(dateMath).toEpochMilli()),
- dateMathParser.parseMath(math));
+ new Date(Instant.parse(dateMath).toEpochMilli()).toInstant(),
+ dateMathParser.parseMath(math).toInstant());
}
@Test
diff --git a/solr/modules/analytics/src/test/org/apache/solr/analytics/legacy/facet/LegacyFieldFacetExtrasCloudTest.java b/solr/modules/analytics/src/test/org/apache/solr/analytics/legacy/facet/LegacyFieldFacetExtrasCloudTest.java
index 92b21c21904..d0002ad5ad8 100644
--- a/solr/modules/analytics/src/test/org/apache/solr/analytics/legacy/facet/LegacyFieldFacetExtrasCloudTest.java
+++ b/solr/modules/analytics/src/test/org/apache/solr/analytics/legacy/facet/LegacyFieldFacetExtrasCloudTest.java
@@ -236,29 +236,25 @@ public class LegacyFieldFacetExtrasCloudTest extends LegacyAbstractAnalyticsFace
NamedList<Object> response = queryLegacyCloudAnalytics(params);
String responseStr = response.toString();
- Collection<Double> lon = getValueList(response, "sr", "fieldFacets", "long_ld", "mean", false);
- ArrayList<Double> longTest = calculateFacetedNumberStat(intLongTestStart, "mean");
+ List<Double> lon = getValueList(response, "sr", "fieldFacets", "long_ld", "mean", false);
+ List<Double> longTest = calculateFacetedNumberStat(intLongTestStart, "mean");
Collections.sort(longTest);
assertEquals(responseStr, longTest, lon);
- Collection<Double> flo =
- getValueList(response, "sr", "fieldFacets", "float_fd", "median", false);
- ArrayList<Double> floatTest = calculateFacetedNumberStat(intFloatTestStart, "median");
- Collections.sort(floatTest, Collections.reverseOrder());
+ List<Double> flo = getValueList(response, "sr", "fieldFacets", "float_fd", "median", false);
+ List<Double> floatTest = calculateFacetedNumberStat(intFloatTestStart, "median");
+ floatTest.sort(Collections.reverseOrder());
assertEquals(responseStr, floatTest, flo);
- Collection<Long> doub =
- getValueList(response, "sr", "fieldFacets", "double_dd", "count", false);
- ArrayList<Long> doubleTest =
- (ArrayList<Long>) calculateFacetedStat(intDoubleTestStart, "count");
+ List<Long> doub = getValueList(response, "sr", "fieldFacets", "double_dd", "count", false);
+ List<Long> doubleTest = (List<Long>) calculateFacetedStat(intDoubleTestStart, "count");
Collections.sort(doubleTest);
assertEquals(responseStr, doubleTest, doub);
- Collection<Integer> string =
+ List<Integer> string =
getValueList(response, "sr", "fieldFacets", "string_sd", "percentile_20", false);
- ArrayList<Integer> stringTest =
- (ArrayList<Integer>) calculateFacetedStat(intStringTestStart, "perc_20");
- Collections.sort(stringTest, Collections.reverseOrder());
+ List<Integer> stringTest = (List<Integer>) calculateFacetedStat(intStringTestStart, "perc_20");
+ stringTest.sort(Collections.reverseOrder());
assertEquals(responseStr, stringTest, string);
}
}
diff --git a/solr/modules/analytics/src/test/org/apache/solr/analytics/legacy/facet/LegacyFieldFacetExtrasTest.java b/solr/modules/analytics/src/test/org/apache/solr/analytics/legacy/facet/LegacyFieldFacetExtrasTest.java
index 5b400923dfc..f22921a4c44 100644
--- a/solr/modules/analytics/src/test/org/apache/solr/analytics/legacy/facet/LegacyFieldFacetExtrasTest.java
+++ b/solr/modules/analytics/src/test/org/apache/solr/analytics/legacy/facet/LegacyFieldFacetExtrasTest.java
@@ -159,26 +159,24 @@ public class LegacyFieldFacetExtrasTest extends LegacyAbstractAnalyticsFacetTest
@SuppressWarnings("unchecked")
@Test
public void sortTest() throws Exception {
- Collection<Double> lon = getDoubleList("sr", "fieldFacets", "long_ld", "double", "mean");
- ArrayList<Double> longTest = calculateNumberStat(intLongTestStart, "mean");
+ List<Double> lon = getDoubleList("sr", "fieldFacets", "long_ld", "double", "mean");
+ List<Double> longTest = calculateNumberStat(intLongTestStart, "mean");
Collections.sort(longTest);
assertEquals(getRawResponse(), longTest, lon);
- Collection<Double> flo = getDoubleList("sr", "fieldFacets", "float_fd", "double", "median");
- ArrayList<Double> floatTest = calculateNumberStat(intFloatTestStart, "median");
- Collections.sort(floatTest, Collections.reverseOrder());
+ List<Double> flo = getDoubleList("sr", "fieldFacets", "float_fd", "double", "median");
+ List<Double> floatTest = calculateNumberStat(intFloatTestStart, "median");
+ floatTest.sort(Collections.reverseOrder());
assertEquals(getRawResponse(), floatTest, flo);
- Collection<Long> doub = getLongList("sr", "fieldFacets", "double_dd", "long", "count");
- ArrayList<Long> doubleTest = (ArrayList<Long>) calculateStat(intDoubleTestStart, "count");
+ List<Long> doub = getLongList("sr", "fieldFacets", "double_dd", "long", "count");
+ List<Long> doubleTest = (List<Long>) calculateStat(intDoubleTestStart, "count");
Collections.sort(doubleTest);
assertEquals(getRawResponse(), doubleTest, doub);
- Collection<Integer> string =
- getIntegerList("sr", "fieldFacets", "string_sd", "int", "percentile_20");
- ArrayList<Integer> stringTest =
- (ArrayList<Integer>) calculateStat(intStringTestStart, "perc_20");
- Collections.sort(stringTest, Collections.reverseOrder());
+ List<Integer> string = getIntegerList("sr", "fieldFacets", "string_sd", "int", "percentile_20");
+ List<Integer> stringTest = (List<Integer>) calculateStat(intStringTestStart, "perc_20");
+ stringTest.sort(Collections.reverseOrder());
assertEquals(getRawResponse(), stringTest, string);
}
}
diff --git a/solr/modules/analytics/src/test/org/apache/solr/analytics/value/CastingDateValueStreamTest.java b/solr/modules/analytics/src/test/org/apache/solr/analytics/value/CastingDateValueStreamTest.java
index b3db2cb95f9..77da84abc41 100644
--- a/solr/modules/analytics/src/test/org/apache/solr/analytics/value/CastingDateValueStreamTest.java
+++ b/solr/modules/analytics/src/test/org/apache/solr/analytics/value/CastingDateValueStreamTest.java
@@ -41,7 +41,7 @@ public class CastingDateValueStreamTest extends SolrTestCaseJ4 {
val.setValues();
casted.streamDates(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
// Multiple Values
@@ -50,7 +50,7 @@ public class CastingDateValueStreamTest extends SolrTestCaseJ4 {
casted.streamDates(
value -> {
assertTrue(values.hasNext());
- assertEquals(values.next(), value);
+ assertEquals(values.next().toInstant(), value.toInstant());
});
assertFalse(values.hasNext());
}
@@ -66,7 +66,7 @@ public class CastingDateValueStreamTest extends SolrTestCaseJ4 {
val.setValues();
casted.streamStrings(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
// Multiple Values
@@ -96,7 +96,7 @@ public class CastingDateValueStreamTest extends SolrTestCaseJ4 {
val.setValues();
casted.streamObjects(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
// Multiple Values
diff --git a/solr/modules/analytics/src/test/org/apache/solr/analytics/value/CastingDateValueTest.java b/solr/modules/analytics/src/test/org/apache/solr/analytics/value/CastingDateValueTest.java
index 99bd9c1dcb3..734f534fab3 100644
--- a/solr/modules/analytics/src/test/org/apache/solr/analytics/value/CastingDateValueTest.java
+++ b/solr/modules/analytics/src/test/org/apache/solr/analytics/value/CastingDateValueTest.java
@@ -21,6 +21,7 @@ import java.time.format.DateTimeParseException;
import java.util.Arrays;
import java.util.Date;
import java.util.Iterator;
+import java.util.List;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.analytics.value.AnalyticsValueStream.ExpressionType;
import org.apache.solr.analytics.value.FillableTestValue.TestDateValue;
@@ -38,7 +39,7 @@ public class CastingDateValueTest extends SolrTestCaseJ4 {
DateValue casted = (DateValue) val;
val.setValue("1800-01-01T10:30:15Z").setExists(true);
- assertEquals(date, casted.getDate());
+ assertEquals(date.toInstant(), casted.getDate().toInstant());
assertTrue(casted.exists());
}
@@ -63,7 +64,7 @@ public class CastingDateValueTest extends SolrTestCaseJ4 {
AnalyticsValue casted = (AnalyticsValue) val;
val.setValue("1800-01-01T10:30:15Z").setExists(true);
- assertEquals(date, casted.getObject());
+ assertEquals(date.toInstant(), ((Date) casted.getObject()).toInstant());
assertTrue(casted.exists());
}
@@ -79,7 +80,7 @@ public class CastingDateValueTest extends SolrTestCaseJ4 {
val.setExists(false);
casted.streamDates(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
// Multiple Values
@@ -88,7 +89,7 @@ public class CastingDateValueTest extends SolrTestCaseJ4 {
casted.streamDates(
value -> {
assertTrue(values.hasNext());
- assertEquals(values.next(), value);
+ assertEquals(values.next().toInstant(), value.toInstant());
});
assertFalse(values.hasNext());
}
@@ -104,7 +105,7 @@ public class CastingDateValueTest extends SolrTestCaseJ4 {
val.setExists(false);
casted.streamStrings(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
// Multiple Values
@@ -130,12 +131,12 @@ public class CastingDateValueTest extends SolrTestCaseJ4 {
val.setExists(false);
casted.streamObjects(
value -> {
- assertTrue("There should be no values to stream", false);
+ fail("There should be no values to stream");
});
// Multiple Values
val.setValue("1800-01-01T10:30:15Z").setExists(true);
- Iterator<Object> values = Arrays.<Object>asList(date).iterator();
+ Iterator<Object> values = List.<Object>of(date).iterator();
casted.streamObjects(
value -> {
assertTrue(values.hasNext());
@@ -152,7 +153,7 @@ public class CastingDateValueTest extends SolrTestCaseJ4 {
val.setValue("1800-01-01T10:30:15Z").setExists(true);
AnalyticsValueStream conv = val.convertToConstant();
assertTrue(conv instanceof ConstantDateValue);
- assertEquals(date, ((ConstantDateValue) conv).getDate());
+ assertEquals(date.toInstant(), ((ConstantDateValue) conv).getDate().toInstant());
val = new TestDateValue(ExpressionType.FIELD);
val.setValue("1800-01-01T10:30:15Z").setExists(true);
diff --git a/solr/modules/analytics/src/test/org/apache/solr/analytics/value/ConstantValueTest.java b/solr/modules/analytics/src/test/org/apache/solr/analytics/value/ConstantValueTest.java
index 470b7419a3d..007c171be8e 100644
--- a/solr/modules/analytics/src/test/org/apache/solr/analytics/value/ConstantValueTest.java
+++ b/solr/modules/analytics/src/test/org/apache/solr/analytics/value/ConstantValueTest.java
@@ -65,8 +65,8 @@ public class ConstantValueTest extends SolrTestCaseJ4 {
uncasted = ConstantValue.creatorFunction.apply("1800-01-01T10:30:15.33Z");
assertTrue(uncasted instanceof ConstantDateValue);
assertEquals(
- Date.from(Instant.parse("1800-01-01T10:30:15.33Z")),
- ((ConstantDateValue) uncasted).getDate());
+ Instant.parse("1800-01-01T10:30:15.33Z"),
+ ((ConstantDateValue) uncasted).getDate().toInstant());
}
@Test
@@ -334,9 +334,9 @@ public class ConstantValueTest extends SolrTestCaseJ4 {
assertTrue(val.exists());
assertEquals(date.getTime(), val.getLong());
- assertEquals(date, val.getDate());
+ assertEquals(date.toInstant(), val.getDate().toInstant());
assertEquals("1800-01-01T10:30:15Z", val.getString());
- assertEquals(date, val.getObject());
+ assertEquals(date.toInstant(), ((Date) val.getObject()).toInstant());
TestIntValue counter = new TestIntValue();
counter.setValue(0);
@@ -349,7 +349,7 @@ public class ConstantValueTest extends SolrTestCaseJ4 {
counter.setValue(0);
val.streamDates(
value -> {
- assertEquals(date, value);
+ assertEquals(date.toInstant(), value.toInstant());
assertEquals(0, counter.getInt());
counter.setValue(1);
});
@@ -363,7 +363,7 @@ public class ConstantValueTest extends SolrTestCaseJ4 {
counter.setValue(0);
val.streamObjects(
value -> {
- assertEquals(date, value);
+ assertEquals(date.toInstant(), ((Date) value).toInstant());
assertEquals(0, counter.getInt());
counter.setValue(1);
});
diff --git a/solr/modules/extraction/src/java/org/apache/solr/handler/extraction/SolrContentHandler.java b/solr/modules/extraction/src/java/org/apache/solr/handler/extraction/SolrContentHandler.java
index 43d0de9f7d5..9edba0e925e 100644
--- a/solr/modules/extraction/src/java/org/apache/solr/handler/extraction/SolrContentHandler.java
+++ b/solr/modules/extraction/src/java/org/apache/solr/handler/extraction/SolrContentHandler.java
@@ -24,6 +24,7 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
+import java.util.Objects;
import java.util.Set;
import org.apache.solr.common.SolrInputDocument;
import org.apache.solr.common.params.SolrParams;
@@ -212,7 +213,7 @@ public class SolrContentHandler extends DefaultHandler implements ExtractingPara
// you?
if (sf == null
&& unknownFieldPrefix.length() == 0
- && name == TikaMetadataKeys.RESOURCE_NAME_KEY) {
+ && Objects.equals(name, TikaMetadataKeys.RESOURCE_NAME_KEY)) {
return;
}
diff --git a/solr/modules/ltr/src/java/org/apache/solr/ltr/interleaving/LTRInterleavingQuery.java b/solr/modules/ltr/src/java/org/apache/solr/ltr/interleaving/LTRInterleavingQuery.java
index f34ee1663b7..559d65edc8f 100644
--- a/solr/modules/ltr/src/java/org/apache/solr/ltr/interleaving/LTRInterleavingQuery.java
+++ b/solr/modules/ltr/src/java/org/apache/solr/ltr/interleaving/LTRInterleavingQuery.java
@@ -42,7 +42,8 @@ public class LTRInterleavingQuery extends LTRQuery {
@Override
public int hashCode() {
- return 31 * classHash() + (mainQuery.hashCode() + rerankingQueries.hashCode() + reRankDocs);
+ return 31 * classHash()
+ + (mainQuery.hashCode() + Arrays.hashCode(rerankingQueries) + reRankDocs);
}
@Override
@@ -52,7 +53,7 @@ public class LTRInterleavingQuery extends LTRQuery {
private boolean equalsTo(LTRInterleavingQuery other) {
return (mainQuery.equals(other.mainQuery)
- && rerankingQueries.equals(other.rerankingQueries)
+ && Arrays.equals(rerankingQueries, other.rerankingQueries)
&& (reRankDocs == other.reRankDocs));
}
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/graph/ShortestPathStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/graph/ShortestPathStream.java
index eebdc218eba..b1bd5632544 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/graph/ShortestPathStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/graph/ShortestPathStream.java
@@ -21,6 +21,7 @@ import static org.apache.solr.common.params.CommonParams.SORT;
import java.io.IOException;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -314,7 +315,8 @@ public class ShortestPathStream extends TupleStream implements Expressible {
ModifiableSolrParams mParams = new ModifiableSolrParams(queryParams);
child.setExpression(
mParams.getMap().entrySet().stream()
- .map(e -> String.format(Locale.ROOT, "%s=%s", e.getKey(), e.getValue()))
+ .map(
+ e -> String.format(Locale.ROOT, "%s=%s", e.getKey(), Arrays.toString(e.getValue())))
.collect(Collectors.joining(",")));
explanation.addChild(child);
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/ResultSetMetaDataImpl.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/ResultSetMetaDataImpl.java
index 960c7579b90..319a699edc6 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/ResultSetMetaDataImpl.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/sql/ResultSetMetaDataImpl.java
@@ -74,7 +74,7 @@ class ResultSetMetaDataImpl implements ResultSetMetaData {
@Override
public int isNullable(int column) throws SQLException {
- return 0;
+ return ResultSetMetaData.columnNoNulls;
}
@Override
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/CloudSolrStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/CloudSolrStream.java
index c2bcca77539..0c552a77eb6 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/CloudSolrStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/CloudSolrStream.java
@@ -233,7 +233,10 @@ public class CloudSolrStream extends TupleStream implements Expressible {
ModifiableSolrParams mParams = new ModifiableSolrParams(params);
child.setExpression(
mParams.getMap().entrySet().stream()
- .map(e -> String.format(Locale.ROOT, "%s=%s", e.getKey(), e.getValue()))
+ .map(
+ e ->
+ String.format(
+ Locale.ROOT, "%s=%s", e.getKey(), Arrays.toString(e.getValue())))
.collect(Collectors.joining(",")));
}
explanation.addChild(child);
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/DeepRandomStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/DeepRandomStream.java
index c17efa9a18a..4b39078dcd8 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/DeepRandomStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/DeepRandomStream.java
@@ -22,6 +22,7 @@ import static org.apache.solr.common.params.CommonParams.SORT;
import java.io.IOException;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedList;
@@ -231,7 +232,10 @@ public class DeepRandomStream extends TupleStream implements Expressible {
ModifiableSolrParams mParams = new ModifiableSolrParams(params);
child.setExpression(
mParams.getMap().entrySet().stream()
- .map(e -> String.format(Locale.ROOT, "%s=%s", e.getKey(), e.getValue()))
+ .map(
+ e ->
+ String.format(
+ Locale.ROOT, "%s=%s", e.getKey(), Arrays.toString(e.getValue())))
.collect(Collectors.joining(",")));
}
explanation.addChild(child);
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/Facet2DStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/Facet2DStream.java
index 344ffcf9f0c..fbba51a9305 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/Facet2DStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/Facet2DStream.java
@@ -83,7 +83,8 @@ public class Facet2DStream extends TupleStream implements Expressible {
String[] strDimensions = dimensions.split(",");
if (strDimensions.length != 2) {
throw new IOException(
- String.format(Locale.ROOT, "invalid expression %s - two dimension values expected"));
+ String.format(
+ Locale.ROOT, "two dimension values expected. %s found", strDimensions.length));
}
this.dimensionX = Integer.parseInt(strDimensions[0]);
this.dimensionY = Integer.parseInt(strDimensions[1]);
@@ -157,8 +158,7 @@ public class Facet2DStream extends TupleStream implements Expressible {
String.format(
Locale.ROOT,
"invalid expression %s - x and y buckets expected. eg. 'x=\"name\"'",
- expression,
- collectionName));
+ expression));
}
Metric metric = null;
@@ -179,7 +179,8 @@ public class Facet2DStream extends TupleStream implements Expressible {
((StreamExpressionValue) dimensionsExpression.getParameter()).getValue().split(",");
if (strDimensions.length != 2) {
throw new IOException(
- String.format(Locale.ROOT, "invalid expression %s - two dimension values expected"));
+ String.format(
+ Locale.ROOT, "two dimension values expected. Found %s", strDimensions.length));
}
dimensionX = Integer.parseInt(strDimensions[0].trim());
dimensionY = Integer.parseInt(strDimensions[1].trim());
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FacetStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FacetStream.java
index 948f60ac797..9a702894fb8 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FacetStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/FacetStream.java
@@ -211,8 +211,7 @@ public class FacetStream extends TupleStream implements Expressible, ParallelMet
String.format(
Locale.ROOT,
"invalid expression %s - at least one bucket expected. eg. 'buckets=\"name\"'",
- expression,
- collectionName));
+ expression));
}
// Construct the metrics
@@ -234,15 +233,14 @@ public class FacetStream extends TupleStream implements Expressible, ParallelMet
bucketSortString = ((StreamExpressionValue) bucketSortExpression.getParameter()).getValue();
if (bucketSortString.contains("(")
&& metricExpressions.size() == 0
- && (!bucketSortExpression.equals("count(*) desc")
- && !bucketSortExpression.equals("count(*) asc"))) {
+ && (!bucketSortString.equals("count(*) desc")
+ && !bucketSortString.equals("count(*) asc"))) {
// Attempting bucket sort on a metric that is not going to be calculated.
throw new IOException(
String.format(
Locale.ROOT,
"invalid expression %s - the bucketSort is being performed on a metric that is not being calculated.",
- expression,
- collectionName));
+ expression));
}
}
@@ -253,8 +251,7 @@ public class FacetStream extends TupleStream implements Expressible, ParallelMet
String.format(
Locale.ROOT,
"invalid expression %s - at least one bucket sort expected. eg. 'bucketSorts=\"name asc\"'",
- expression,
- collectionName));
+ expression));
}
boolean refine = false;
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/HashJoinStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/HashJoinStream.java
index e1172f1fbb7..47ff6477e8c 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/HashJoinStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/HashJoinStream.java
@@ -137,7 +137,7 @@ public class HashJoinStream extends TupleStream implements Expressible {
throw new IOException(
String.format(
Locale.ROOT,
- "Invalid expression %s - invalid 'on' parameter - expecting 1 or more instances if 'field' or 'field=hashedField' but found '%s'",
+ "Invalid expression - invalid 'on' parameter - expecting 1 or more instances if 'field' or 'field=hashedField' but found '%s'",
hasher));
}
}
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/JDBCStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/JDBCStream.java
index 8bba1047938..90de36458e9 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/JDBCStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/JDBCStream.java
@@ -594,7 +594,7 @@ public class JDBCStream extends TupleStream implements Expressible {
throw new SQLException(
String.format(
Locale.ROOT,
- "Encountered a clob of length #%l in column '%s' (col #%d). Max supported length is #%i.",
+ "Encountered a clob of length #%d in column '%s' (col #%d). Max supported length is #%d.",
length,
columnName,
columnNumber,
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/PlotStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/PlotStream.java
index 607c3932939..a0f03c8d019 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/PlotStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/PlotStream.java
@@ -82,7 +82,7 @@ public class PlotStream extends TupleStream implements Expressible {
throw new IOException(
String.format(
Locale.ROOT,
- "Invalid expression %s - only string, evaluator, or stream named parameters are supported, but param %d is none of those",
+ "Invalid expression %s - only string, evaluator, or stream named parameters are supported, but param %s is none of those",
expression,
name));
}
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/ShuffleStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/ShuffleStream.java
index 77e9e45144a..10dc68a77c0 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/ShuffleStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/ShuffleStream.java
@@ -17,6 +17,7 @@
package org.apache.solr.client.solrj.io.stream;
import java.io.IOException;
+import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
@@ -180,7 +181,10 @@ public class ShuffleStream extends CloudSolrStream implements Expressible {
ModifiableSolrParams mParams = new ModifiableSolrParams(params);
child.setExpression(
mParams.getMap().entrySet().stream()
- .map(e -> String.format(Locale.ROOT, "%s=%s", e.getKey(), e.getValue()))
+ .map(
+ e ->
+ String.format(
+ Locale.ROOT, "%s=%s", e.getKey(), Arrays.toString(e.getValue())))
.collect(Collectors.joining(",")));
}
explanation.addChild(child);
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/SqlStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/SqlStream.java
index 717f5fd3cbb..c55504c653e 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/SqlStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/SqlStream.java
@@ -17,6 +17,7 @@
package org.apache.solr.client.solrj.io.stream;
import java.io.IOException;
+import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Locale;
@@ -163,7 +164,10 @@ public class SqlStream extends TupleStream implements Expressible {
ModifiableSolrParams mParams = new ModifiableSolrParams(params);
child.setExpression(
mParams.getMap().entrySet().stream()
- .map(e -> String.format(Locale.ROOT, "%s=%s", e.getKey(), e.getValue()))
+ .map(
+ e ->
+ String.format(
+ Locale.ROOT, "%s=%s", e.getKey(), Arrays.toString(e.getValue())))
.collect(Collectors.joining(",")));
}
explanation.addChild(child);
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TextLogitStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TextLogitStream.java
index bb9a7f22228..ca9a404543f 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TextLogitStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TextLogitStream.java
@@ -494,7 +494,7 @@ public class TextLogitStream extends TupleStream implements Expressible {
throw new IOException(
String.format(
Locale.ROOT,
- "invalid expression %s - the number of weights must be %d, found %d",
+ "invalid expression - the number of weights must be %d, found %d",
terms.size() + 1,
weights.size()));
}
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TopicStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TopicStream.java
index b625d38ec7c..5564e38bd53 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TopicStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TopicStream.java
@@ -24,6 +24,7 @@ import static org.apache.solr.common.params.CommonParams.VERSION_FIELD;
import java.io.IOException;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
@@ -274,7 +275,10 @@ public class TopicStream extends CloudSolrStream implements Expressible {
ModifiableSolrParams mParams = new ModifiableSolrParams(params);
child.setExpression(
mParams.getMap().entrySet().stream()
- .map(e -> String.format(Locale.ROOT, "%s=%s", e.getKey(), e.getValue()))
+ .map(
+ e ->
+ String.format(
+ Locale.ROOT, "%s=%s", e.getKey(), Arrays.toString(e.getValue())))
.collect(Collectors.joining(",")));
explanation.addChild(child);
}
@@ -282,7 +286,7 @@ public class TopicStream extends CloudSolrStream implements Expressible {
{
// child 2 is a place where we store and read checkpoint info from
StreamExplanation child = new StreamExplanation(getStreamNodeId() + "-checkpoint");
- child.setFunctionName(String.format(Locale.ROOT, "solr (checkpoint store)"));
+ child.setFunctionName("solr (checkpoint store)");
child.setImplementingClass("Solr/Lucene");
child.setExpressionType(ExpressionType.DATASTORE);
child.setExpression(
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TupStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TupStream.java
index feecd952c99..a755932bac4 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TupStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/TupStream.java
@@ -81,7 +81,7 @@ public class TupStream extends TupleStream implements Expressible {
throw new IOException(
String.format(
Locale.ROOT,
- "Invalid expression %s - only string, evaluator, or stream named parameters are supported, but param %d is none of those",
+ "Invalid expression %s - only string, evaluator, or stream named parameters are supported, but param %s is none of those",
expression,
name));
}
diff --git a/solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java b/solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java
index 23210417a5a..697b3d56998 100644
--- a/solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java
+++ b/solr/solrj/src/java/org/apache/solr/common/util/JavaBinCodec.java
@@ -1195,7 +1195,7 @@ public class JavaBinCodec implements PushWriter {
writeTag(NULL);
return;
}
- Integer idx = stringsMap == null ? null : stringsMap.get(s);
+ Integer idx = stringsMap == null ? null : stringsMap.get(s.toString());
if (idx == null) idx = 0;
writeTag(EXTERN_STRING, idx);
if (idx == 0) {
diff --git a/solr/solrj/src/java/org/apache/solr/common/util/JsonTextWriter.java b/solr/solrj/src/java/org/apache/solr/common/util/JsonTextWriter.java
index 19a424856a8..12fe925ea1c 100644
--- a/solr/solrj/src/java/org/apache/solr/common/util/JsonTextWriter.java
+++ b/solr/solrj/src/java/org/apache/solr/common/util/JsonTextWriter.java
@@ -22,6 +22,7 @@ import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import org.apache.solr.common.IteratorWriter;
import org.apache.solr.common.MapWriter;
@@ -293,15 +294,15 @@ public interface JsonTextWriter extends TextWriter {
String namedListStyle = getNamedListStyle();
if (val instanceof SimpleOrderedMap) {
writeNamedListAsMapWithDups(name, val);
- } else if (namedListStyle == JSON_NL_FLAT) {
+ } else if (Objects.equals(namedListStyle, JSON_NL_FLAT)) {
writeNamedListAsFlat(name, val);
- } else if (namedListStyle == JSON_NL_MAP) {
+ } else if (Objects.equals(namedListStyle, JSON_NL_MAP)) {
writeNamedListAsMapWithDups(name, val);
- } else if (namedListStyle == JSON_NL_ARROFARR) {
+ } else if (Objects.equals(namedListStyle, JSON_NL_ARROFARR)) {
writeNamedListAsArrArr(name, val);
- } else if (namedListStyle == JSON_NL_ARROFMAP) {
+ } else if (Objects.equals(namedListStyle, JSON_NL_ARROFMAP)) {
writeNamedListAsArrMap(name, val);
- } else if (namedListStyle == JSON_NL_ARROFNTV) {
+ } else if (Objects.equals(namedListStyle, JSON_NL_ARROFNTV)) {
throw new UnsupportedOperationException(
namedListStyle + " namedListStyle must only be used with ArrayOfNameTypeValueJSONWriter");
}
diff --git a/solr/solrj/src/java/org/apache/solr/common/util/Utils.java b/solr/solrj/src/java/org/apache/solr/common/util/Utils.java
index ca8d1bcb182..576bfbaa771 100644
--- a/solr/solrj/src/java/org/apache/solr/common/util/Utils.java
+++ b/solr/solrj/src/java/org/apache/solr/common/util/Utils.java
@@ -631,7 +631,7 @@ public class Utils {
public MapWriter.EntryWriter put(CharSequence k, Object v) {
if (result[0] != null) return this;
if (idx < 0) {
- if (k.equals(key)) result[0] = v;
+ if (key.contentEquals(k)) result[0] = v;
} else {
if (++count == idx) result[0] = new MapWriterEntry<>(k, v);
}
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/SolrQueryTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/SolrQueryTest.java
index 32312a42859..9111169fd5b 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/SolrQueryTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/SolrQueryTest.java
@@ -297,9 +297,9 @@ public class SolrQueryTest extends SolrTestCase {
public void testFacetDateRange() {
SolrQuery q = new SolrQuery("dog");
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("UTC"), Locale.UK);
- calendar.set(2010, 1, 1);
+ calendar.set(2010, Calendar.FEBRUARY, 1);
Date start = calendar.getTime();
- calendar.set(2011, 1, 1);
+ calendar.set(2011, Calendar.FEBRUARY, 1);
Date end = calendar.getTime();
q.addDateRangeFacet("field", start, end, "+1MONTH");
assertEquals("true", q.get(FacetParams.FACET));
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudHttp2SolrClientTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudHttp2SolrClientTest.java
index d6161adc132..82810416b8e 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudHttp2SolrClientTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudHttp2SolrClientTest.java
@@ -372,12 +372,13 @@ public class CloudHttp2SolrClientTest extends SolrCloudTestCase {
}
List<String> sameShardRoutes = Lists.newArrayList();
+ List<Slice> expectedSlicesList = List.copyOf(expectedSlices);
sameShardRoutes.add("0");
for (int i = 1; i < n; i++) {
String shardKey = Integer.toString(i);
- Collection<Slice> slices = router.getSearchSlicesSingle(shardKey, null, col);
+ List<Slice> slices = List.copyOf(router.getSearchSlicesSingle(shardKey, null, col));
log.info("Expected Slices {}", slices);
- if (expectedSlices.equals(slices)) {
+ if (expectedSlicesList.equals(slices)) {
sameShardRoutes.add(shardKey);
}
}
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientTest.java
index f13a542b9e0..d9107e23afe 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/impl/CloudSolrClientTest.java
@@ -373,13 +373,14 @@ public class CloudSolrClientTest extends SolrCloudTestCase {
n = random().nextInt(9) + 2;
}
+ List<Slice> expectedSlicesList = List.copyOf(expectedSlices);
List<String> sameShardRoutes = Lists.newArrayList();
sameShardRoutes.add("0");
for (int i = 1; i < n; i++) {
String shardKey = Integer.toString(i);
- Collection<Slice> slices = router.getSearchSlicesSingle(shardKey, null, col);
+ List<Slice> slices = List.copyOf(router.getSearchSlicesSingle(shardKey, null, col));
log.info("Expected Slices {}", slices);
- if (expectedSlices.equals(slices)) {
+ if (expectedSlicesList.equals(slices)) {
sameShardRoutes.add(shardKey);
}
}
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamingTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamingTest.java
index 15f094b595c..e1f80b659bc 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamingTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/StreamingTest.java
@@ -1118,16 +1118,16 @@ public class StreamingTest extends SolrCloudTestCase {
avgf = tuple.getDouble("avg(a_f)");
count = tuple.getDouble("count(*)");
- assertTrue(bucket.equals("hello3"));
- assertTrue(sumi.doubleValue() == 38.0D);
- assertTrue(sumf.doubleValue() == 26.0D);
- assertTrue(mini.doubleValue() == 3.0D);
- assertTrue(minf.doubleValue() == 3.0D);
- assertTrue(maxi.doubleValue() == 13.0D);
- assertTrue(maxf.doubleValue() == 9.0D);
- assertTrue(avgi.doubleValue() == 9.5D);
- assertTrue(avgf.doubleValue() == 6.5D);
- assertTrue(count.doubleValue() == 4);
+ assertEquals("hello3", bucket);
+ assertEquals(38.0D, sumi.doubleValue(), 0.01);
+ assertEquals(26.0D, sumf.doubleValue(), 0.01);
+ assertEquals(3.0D, mini.doubleValue(), 0.01);
+ assertEquals(3.0D, minf.doubleValue(), 0.01);
+ assertEquals(13.0D, maxi.doubleValue(), 0.01);
+ assertEquals(9.0D, maxf.doubleValue(), 0.01);
+ assertEquals(9.5D, avgi.doubleValue(), 0.01);
+ assertEquals(6.5D, avgf.doubleValue(), 0.01);
+ assertEquals(4, count.doubleValue(), 0.01);
tuple = tuples.get(2);
bucket = tuple.getString("a_s");
@@ -1819,15 +1819,15 @@ public class StreamingTest extends SolrCloudTestCase {
assert (tuples.size() == 3);
tuple = tuples.get(0);
bucket = tuple.getString("a_s");
- assertTrue(bucket.equals("hello0"));
+ assertEquals("hello0", bucket);
tuple = tuples.get(1);
bucket = tuple.getString("a_s");
- assertTrue(bucket.equals("hello3"));
+ assertEquals("hello3", bucket);
tuple = tuples.get(2);
bucket = tuple.getString("a_s");
- assertTrue(bucket.equals("hello4"));
+ assertEquals("hello4", bucket);
// Test will null value in the grouping field
new UpdateRequest()
@@ -1940,7 +1940,7 @@ public class StreamingTest extends SolrCloudTestCase {
count = tuples.size();
if (count > 0) {
Tuple t = tuples.get(0);
- assertTrue(t.getLong("id") == 50000000);
+ assertEquals(50000000, (long) t.getLong("id"));
} else {
System.out.println("###### Waiting for checkpoint #######:" + count);
}
@@ -2865,59 +2865,51 @@ public class StreamingTest extends SolrCloudTestCase {
assertEquals(
"MV should be returned for l_multi", 16, tuple.getLongs("l_multi").get(1).longValue());
+ assertEquals("floats should be returned", 1.7, tuple.getDouble("f_sing"), 0.001);
assertEquals(
- "floats should be returned", 1.7, tuple.getDouble("f_sing").doubleValue(), 0.001);
- assertEquals(
- "MV should be returned for f_multi",
- 1.8,
- tuple.getDoubles("f_multi").get(0).doubleValue(),
- 0.001);
+ "MV should be returned for f_multi", 1.8, tuple.getDoubles("f_multi").get(0), 0.001);
assertEquals(
- "MV should be returned for f_multi",
- 1.9,
- tuple.getDoubles("f_multi").get(1).doubleValue(),
- 0.001);
+ "MV should be returned for f_multi", 1.9, tuple.getDoubles("f_multi").get(1), 0.001);
+ assertEquals("doubles should be returned", 1.2, tuple.getDouble("d_sing"), 0.001);
assertEquals(
- "doubles should be returned", 1.2, tuple.getDouble("d_sing").doubleValue(), 0.001);
+ "MV should be returned for d_multi", 1.21, tuple.getDoubles("d_multi").get(0), 0.001);
assertEquals(
- "MV should be returned for d_multi",
- 1.21,
- tuple.getDoubles("d_multi").get(0).doubleValue(),
- 0.001);
+ "MV should be returned for d_multi", 1.22, tuple.getDoubles("d_multi").get(1), 0.001);
+
+ assertEquals("Strings should be returned", "single", tuple.getString("s_sing"));
+ assertEquals("MV should be returned for s_multi", "sm1", tuple.getStrings("s_multi").get(0));
+ assertEquals("MV should be returned for s_multi", "sm2", tuple.getStrings("s_multi").get(1));
+
assertEquals(
- "MV should be returned for d_multi",
- 1.22,
- tuple.getDoubles("d_multi").get(1).doubleValue(),
- 0.001);
-
- assertTrue("Strings should be returned", tuple.getString("s_sing").equals("single"));
- assertTrue(
- "MV should be returned for s_multi", tuple.getStrings("s_multi").get(0).equals("sm1"));
- assertTrue(
- "MV should be returned for s_multi", tuple.getStrings("s_multi").get(1).equals("sm2"));
-
- assertTrue(
"Dates should be returned as Strings",
- tuple.getString("dt_sing").equals("1980-01-02T11:11:33.890Z"));
- assertTrue(
+ "1980-01-02T11:11:33.890Z",
+ tuple.getString("dt_sing"));
+ assertEquals(
"MV dates should be returned as Strings for dt_multi",
- tuple.getStrings("dt_multi").get(0).equals("1981-03-04T01:02:03.780Z"));
- assertTrue(
+ "1981-03-04T01:02:03.780Z",
+ tuple.getStrings("dt_multi").get(0));
+ assertEquals(
"MV dates should be returned as Strings for dt_multi",
- tuple.getStrings("dt_multi").get(1).equals("1981-05-24T04:05:06.990Z"));
+ "1981-05-24T04:05:06.990Z",
+ tuple.getStrings("dt_multi").get(1));
// Also test native type conversion
Date dt = new Date(Instant.parse("1980-01-02T11:11:33.890Z").toEpochMilli());
- assertTrue("Dates should be returned as Dates", tuple.getDate("dt_sing").equals(dt));
+ assertEquals(
+ "Dates should be returned as Dates",
+ tuple.getDate("dt_sing").toInstant(),
+ dt.toInstant());
dt = new Date(Instant.parse("1981-03-04T01:02:03.780Z").toEpochMilli());
- assertTrue(
+ assertEquals(
"MV dates should be returned as Dates for dt_multi",
- tuple.getDates("dt_multi").get(0).equals(dt));
+ tuple.getDates("dt_multi").get(0).toInstant(),
+ dt.toInstant());
dt = new Date(Instant.parse("1981-05-24T04:05:06.990Z").toEpochMilli());
- assertTrue(
+ assertEquals(
"MV dates should be returned as Dates for dt_multi",
- tuple.getDates("dt_multi").get(1).equals(dt));
+ tuple.getDates("dt_multi").get(1).toInstant(),
+ dt.toInstant());
assertTrue("Booleans should be returned", tuple.getBool("b_sing"));
assertFalse("MV boolean should be returned for b_multi", tuple.getBools("b_multi").get(0));
@@ -3051,9 +3043,7 @@ public class StreamingTest extends SolrCloudTestCase {
private ParallelStream parallelStream(TupleStream stream, FieldComparator comparator)
throws IOException {
- ParallelStream pstream =
- new ParallelStream(zkHost, COLLECTIONORALIAS, stream, numWorkers, comparator);
- return pstream;
+ return new ParallelStream(zkHost, COLLECTIONORALIAS, stream, numWorkers, comparator);
}
public void testCloudSolrStreamWithoutStreamContext() throws Exception {
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/TemporalEvaluatorsTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/TemporalEvaluatorsTest.java
index fb49f94df7c..bc1c4eb0996 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/TemporalEvaluatorsTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/eval/TemporalEvaluatorsTest.java
@@ -200,7 +200,7 @@ public class TemporalEvaluatorsTest {
@Test
public void testFunctionsOnDate() throws Exception {
Calendar calendar = new GregorianCalendar(TimeZone.getTimeZone("UTC"), Locale.ROOT);
- calendar.set(2017, 12, 5, 23, 59);
+ calendar.set(2017, Calendar.DECEMBER, 5, 23, 59);
Date aDate = calendar.getTime();
testFunction("year(a)", aDate, calendar.get(Calendar.YEAR));
testFunction("month(a)", aDate, calendar.get(Calendar.MONTH) + 1);
@@ -213,7 +213,7 @@ public class TemporalEvaluatorsTest {
@Test
public void testFunctionsOnInstant() throws Exception {
Calendar calendar = new GregorianCalendar(TimeZone.getTimeZone("UTC"), Locale.ROOT);
- calendar.set(2017, 12, 5, 23, 59);
+ calendar.set(2017, Calendar.DECEMBER, 5, 23, 59);
Date aDate = calendar.getTime();
Instant instant = aDate.toInstant();
testFunction("year(a)", instant, calendar.get(Calendar.YEAR));
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/response/QueryResponseTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/response/QueryResponseTest.java
index 80810e1c723..a85a3cccebb 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/response/QueryResponseTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/response/QueryResponseTest.java
@@ -26,7 +26,6 @@ import java.time.Instant;
import java.util.Date;
import java.util.List;
import java.util.Map;
-import junit.framework.Assert;
import org.apache.lucene.tests.util.TestRuleLimitSysouts.Limit;
import org.apache.solr.SolrTestCase;
import org.apache.solr.client.solrj.impl.XMLResponseParser;
@@ -57,7 +56,7 @@ public class QueryResponseTest extends SolrTestCase {
}
QueryResponse qr = new QueryResponse(response, null);
- Assert.assertNotNull(qr);
+ assertNotNull(qr);
int counter = 0;
RangeFacet.Numeric price = null;
@@ -91,10 +90,11 @@ public class QueryResponseTest extends SolrTestCase {
assertEquals(0, price.getCounts().get(4).getCount());
assertEquals(
- new Date(Instant.parse("2005-02-13T15:26:37Z").toEpochMilli()),
- manufacturedateDt.getStart());
+ new Date(Instant.parse("2005-02-13T15:26:37Z").toEpochMilli()).toInstant(),
+ manufacturedateDt.getStart().toInstant());
assertEquals(
- new Date(Instant.parse("2008-02-13T15:26:37Z").toEpochMilli()), manufacturedateDt.getEnd());
+ new Date(Instant.parse("2008-02-13T15:26:37Z").toEpochMilli()).toInstant(),
+ manufacturedateDt.getEnd().toInstant());
assertEquals("+1YEAR", manufacturedateDt.getGap());
assertEquals("2005-02-13T15:26:37Z", manufacturedateDt.getCounts().get(0).getValue());
assertEquals(4, manufacturedateDt.getCounts().get(0).getCount());
diff --git a/solr/solrj/src/test/org/apache/solr/common/SolrDocumentTest.java b/solr/solrj/src/test/org/apache/solr/common/SolrDocumentTest.java
index a3dc582dcf2..5c58cd7c548 100644
--- a/solr/solrj/src/test/org/apache/solr/common/SolrDocumentTest.java
+++ b/solr/solrj/src/test/org/apache/solr/common/SolrDocumentTest.java
@@ -72,6 +72,7 @@ public class SolrDocumentTest extends SolrTestCase {
assertNull(doc.getFieldValues("f"));
}
+ @SuppressWarnings("CollectionUndefinedEquality")
public void testUnsupportedStuff() {
SolrDocument doc = new SolrDocument();
@@ -219,13 +220,15 @@ public class SolrDocumentTest extends SolrTestCase {
// set field using a collection is documented to be backed by
// that collection, so changes should affect it.
- Collection<String> tmp = new ArrayList<>(3);
+ List<String> tmp = new ArrayList<>(3);
tmp.add("one");
doc.setField("collection_backed", tmp);
- assertEquals("collection not the same", tmp, doc.getFieldValues("collection_backed"));
+ assertEquals(
+ "collection not the same", tmp, List.copyOf(doc.getFieldValues("collection_backed")));
tmp.add("two");
assertEquals("wrong size", 2, doc.getFieldValues("collection_backed").size());
- assertEquals("collection not the same", tmp, doc.getFieldValues("collection_backed"));
+ assertEquals(
+ "collection not the same", tmp, List.copyOf(doc.getFieldValues("collection_backed")));
}
public void testDuplicate() {
diff --git a/solr/solrj/src/test/org/apache/solr/common/util/TestFastJavabinDecoder.java b/solr/solrj/src/test/org/apache/solr/common/util/TestFastJavabinDecoder.java
index 37f2c977789..8b569bb4f3b 100644
--- a/solr/solrj/src/test/org/apache/solr/common/util/TestFastJavabinDecoder.java
+++ b/solr/solrj/src/test/org/apache/solr/common/util/TestFastJavabinDecoder.java
@@ -22,9 +22,11 @@ import java.io.InputStream;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Arrays;
+import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.client.solrj.FastStreamingDocsCallback;
import org.apache.solr.client.solrj.impl.BinaryRequestWriter;
@@ -59,7 +61,7 @@ public class TestFastJavabinDecoder extends SolrTestCaseJ4 {
assertEquals(100, scodec.readSmallInt(scodec.dis));
tag = scodec.getTag();
assertEquals(Tag._STR, tag);
- assertEquals("Hello!", scodec.readStr(fis));
+ assertEquals("Hello!", scodec.readStr(fis).toString());
}
}
@@ -112,7 +114,7 @@ public class TestFastJavabinDecoder extends SolrTestCaseJ4 {
rootMap.computeIfAbsent(e_.name(), o -> new LinkedHashMap<>()),
e1 -> {
Map<CharSequence, String> m1 = (Map<CharSequence, String>) e1.ctx();
- if ("k1".equals(e1.name())) {
+ if ("k1".contentEquals(e1.name())) {
m1.put(e1.name(), e1.val().toString());
}
// eat up k2
@@ -174,11 +176,13 @@ public class TestFastJavabinDecoder extends SolrTestCaseJ4 {
@Override
public void field(DataEntry field, Object docObj) {
Pojo pojo = (Pojo) docObj;
- if ("id".equals(field.name())) {
+ if ("id".contentEquals(field.name())) {
pojo.id = ((Utf8CharSequence) field.val()).clone();
- } else if (field.type() == DataEntry.Type.BOOL && "inStock".equals(field.name())) {
+ } else if (field.type() == DataEntry.Type.BOOL
+ && "inStock".contentEquals(field.name())) {
pojo.inStock = field.boolVal();
- } else if (field.type() == DataEntry.Type.FLOAT && "price".equals(field.name())) {
+ } else if (field.type() == DataEntry.Type.FLOAT
+ && "price".contentEquals(field.name())) {
pojo.price = field.floatVal();
}
}
@@ -227,10 +231,12 @@ public class TestFastJavabinDecoder extends SolrTestCaseJ4 {
final List<Pojo> children = new ArrayList<>();
public void compare(SolrDocument d) {
- assertEquals(id, d.getFieldValue("id"));
- assertEquals(subject, d.getFieldValue("subject"));
- assertEquals(cat, d.getFieldValue("cat"));
- assertEquals(d.getChildDocumentCount(), children.size());
+ assertEquals(String.valueOf(id), String.valueOf(d.getFieldValue("id")));
+ assertEquals(String.valueOf(subject), String.valueOf(d.getFieldValue("subject")));
+ assertEquals(String.valueOf(cat), String.valueOf(d.getFieldValue("cat")));
+ assertEquals(
+ Objects.requireNonNullElse(d.getChildDocuments(), Collections.emptyList()).size(),
+ children.size());
@SuppressWarnings({"unchecked"})
List<Long> l = (List<Long>) d.getFieldValue("longs");
if (l != null) {
@@ -268,14 +274,14 @@ public class TestFastJavabinDecoder extends SolrTestCaseJ4 {
@Override
public void field(DataEntry field, Object docObj) {
Pojo pojo = (Pojo) docObj;
- if (field.name().equals("id")) {
+ if ("id".contentEquals(field.name())) {
pojo.id = field.strValue();
- } else if (field.name().equals("subject")) {
+ } else if ("subject".contentEquals(field.name())) {
pojo.subject = field.strValue();
- } else if (field.name().equals("cat")) {
+ } else if ("cat".contentEquals(field.name())) {
pojo.cat = field.strValue();
} else if (field.type() == DataEntry.Type.ENTRY_ITER
- && "longs".equals(field.name())) {
+ && "longs".contentEquals(field.name())) {
if (useListener[0]) {
field.listenContainer(pojo.longs = new long[field.length()], READLONGS);
} else {
diff --git a/solr/test-framework/src/java/org/apache/solr/BaseDistributedSearchTestCase.java b/solr/test-framework/src/java/org/apache/solr/BaseDistributedSearchTestCase.java
index 9ea477e8140..956a6a9714b 100644
--- a/solr/test-framework/src/java/org/apache/solr/BaseDistributedSearchTestCase.java
+++ b/solr/test-framework/src/java/org/apache/solr/BaseDistributedSearchTestCase.java
@@ -34,6 +34,7 @@ import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
+import java.util.Objects;
import java.util.Properties;
import java.util.Random;
import java.util.Set;
@@ -791,10 +792,6 @@ public abstract class BaseDistributedSearchTestCase extends SolrTestCaseJ4 {
return first;
}
- public static boolean eq(String a, String b) {
- return a == b || (a != null && a.equals(b));
- }
-
public static int flags(Map<String, Integer> handle, Object key) {
if (key == null) return 0;
if (handle == null) return 0;
@@ -866,7 +863,7 @@ public abstract class BaseDistributedSearchTestCase extends SolrTestCaseJ4 {
bSkipped++;
continue;
}
- if (eq(namea, nameb)) {
+ if (Objects.equals(namea, nameb)) {
break;
}
return "." + namea + "!=" + nameb + " (unordered or missing)";