You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@solr.apache.org by md...@apache.org on 2021/06/02 22:17:38 UTC
[solr] branch main updated: SOLR-15385 Address many rawtypes
warnings (#107)
This is an automated email from the ASF dual-hosted git repository.
mdrob 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 c8e06a7 SOLR-15385 Address many rawtypes warnings (#107)
c8e06a7 is described below
commit c8e06a7298a2745c2b83102169073e2f8e8eceb5
Author: Mike Drob <md...@apache.org>
AuthorDate: Wed Jun 2 17:17:26 2021 -0500
SOLR-15385 Address many rawtypes warnings (#107)
Addressed significant usage of raw types with Class, Map, and SolrRequest; removed over 400 SuppressWarning annotations.
Map construction was replaced with Map.of when immutability was possible, and Utils.makeMap when a mutable map was required.
Discovered a potential bug in the PackageStore tests where not all assertions were being verified - these tests will be fixed separately.
Co-authored-by: David Smiley <ds...@salesforce.com>
---
solr/CHANGES.txt | 2 +
...ExtractNamedEntitiesUpdateProcessorFactory.java | 2 -
.../handler/clustering/ClusteringComponent.java | 1 -
.../java/org/apache/solr/ltr/feature/Feature.java | 3 +-
.../org/apache/solr/ltr/model/LTRScoringModel.java | 3 +-
.../solr/ltr/store/rest/ManagedModelStore.java | 1 -
.../src/java/org/apache/solr/api/AnnotatedApi.java | 18 ++---
solr/core/src/java/org/apache/solr/api/ApiBag.java | 6 +-
.../apache/solr/api/ContainerPluginsRegistry.java | 24 ++++---
.../client/solrj/embedded/EmbeddedSolrServer.java | 9 +--
.../src/java/org/apache/solr/cloud/CloudUtil.java | 3 +-
.../apache/solr/cloud/OverseerTaskProcessor.java | 1 -
.../solr/cloud/ShardLeaderElectionContextBase.java | 13 ++--
.../solr/cloud/api/collections/CollApiCmds.java | 2 -
.../api/collections/CollectionHandlingUtils.java | 8 +--
.../solr/cloud/api/collections/CreateAliasCmd.java | 1 -
.../cloud/api/collections/DeleteReplicaCmd.java | 2 -
.../solr/cloud/api/collections/MigrateCmd.java | 7 +-
.../solr/cloud/api/collections/RestoreCmd.java | 2 +-
.../solr/cloud/api/collections/RoutedAlias.java | 6 +-
.../solr/cloud/overseer/CollectionMutator.java | 3 +-
.../apache/solr/cloud/overseer/ReplicaMutator.java | 4 +-
.../apache/solr/cloud/overseer/SliceMutator.java | 5 +-
.../solr/cluster/placement/impl/MetricImpl.java | 1 -
.../java/org/apache/solr/core/BlobRepository.java | 2 +-
.../java/org/apache/solr/core/ConfigOverlay.java | 63 ++++++++++--------
.../java/org/apache/solr/core/CoreContainer.java | 7 +-
.../src/java/org/apache/solr/core/PluginBag.java | 6 +-
.../java/org/apache/solr/core/RequestParams.java | 25 +++----
.../src/java/org/apache/solr/core/SolrConfig.java | 46 ++++++-------
.../src/java/org/apache/solr/core/SolrCore.java | 6 +-
.../org/apache/solr/core/SolrResourceLoader.java | 28 ++++----
.../org/apache/solr/core/TracerConfigurator.java | 2 +-
.../java/org/apache/solr/handler/BlobHandler.java | 8 +--
.../java/org/apache/solr/handler/ClusterAPI.java | 11 ++--
.../apache/solr/handler/CollectionBackupsAPI.java | 2 -
.../org/apache/solr/handler/CollectionsAPI.java | 3 -
.../org/apache/solr/handler/ExportHandler.java | 3 +-
.../java/org/apache/solr/handler/GraphHandler.java | 4 +-
.../java/org/apache/solr/handler/IndexFetcher.java | 4 +-
.../apache/solr/handler/ReplicationHandler.java | 4 +-
.../org/apache/solr/handler/SchemaHandler.java | 32 +++++----
.../org/apache/solr/handler/SolrConfigHandler.java | 21 +++---
.../org/apache/solr/handler/StreamHandler.java | 27 +++-----
.../solr/handler/admin/AdminHandlersProxy.java | 12 ++--
.../solr/handler/admin/BaseHandlerApiSupport.java | 2 +-
.../solr/handler/admin/CollectionsHandler.java | 7 +-
.../apache/solr/handler/admin/MetricsHandler.java | 6 +-
.../solr/handler/admin/SecurityConfHandler.java | 3 +-
.../solr/handler/component/ExpandComponent.java | 3 -
.../handler/component/SpellCheckComponent.java | 1 -
.../solr/handler/component/SuggestComponent.java | 1 -
.../apache/solr/handler/export/ExportWriter.java | 4 +-
.../apache/solr/handler/sql/SolrEnumerator.java | 13 ++--
.../org/apache/solr/handler/sql/SolrMethod.java | 3 +-
.../org/apache/solr/handler/sql/SolrTable.java | 58 +++++++---------
.../handler/sql/SolrToEnumerableConverter.java | 9 +--
.../solr/highlight/DefaultSolrHighlighter.java | 3 -
.../org/apache/solr/highlight/SolrHighlighter.java | 1 -
.../solr/index/WrapperMergePolicyFactory.java | 3 +-
.../solr/legacy/LegacyNumericRangeQuery.java | 2 +-
.../java/org/apache/solr/metrics/MetricsMap.java | 11 ++--
.../org/apache/solr/metrics/SolrMetricManager.java | 3 +-
.../apache/solr/packagemanager/PackageManager.java | 1 -
.../src/java/org/apache/solr/pkg/PackageAPI.java | 1 -
.../solr/pkg/PackageListeningClassLoader.java | 3 +-
.../java/org/apache/solr/pkg/PackageLoader.java | 3 +-
.../apache/solr/request/SolrQueryRequestBase.java | 3 +-
.../org/apache/solr/request/SolrRequestInfo.java | 1 -
.../java/org/apache/solr/rest/ManagedResource.java | 1 -
.../src/java/org/apache/solr/schema/BoolField.java | 2 +-
.../org/apache/solr/schema/CurrencyFieldType.java | 5 +-
.../apache/solr/schema/FieldTypePluginLoader.java | 9 +--
.../java/org/apache/solr/schema/IndexSchema.java | 5 +-
.../org/apache/solr/schema/RandomSortField.java | 2 +-
.../org/apache/solr/schema/StrFieldSource.java | 2 +-
.../org/apache/solr/schema/TrieDoubleField.java | 2 +-
.../org/apache/solr/schema/TrieFloatField.java | 2 +-
.../java/org/apache/solr/schema/TrieIntField.java | 2 +-
.../java/org/apache/solr/schema/TrieLongField.java | 2 +-
.../java/org/apache/solr/search/CacheConfig.java | 1 +
.../solr/search/FloatPayloadValueSource.java | 3 +-
.../org/apache/solr/search/SolrCoreParser.java | 8 +--
.../org/apache/solr/search/ValueSourceParser.java | 19 ++----
.../apache/solr/search/facet/AggValueSource.java | 3 +-
.../apache/solr/search/facet/FacetFieldMerger.java | 2 +-
.../org/apache/solr/search/facet/FacetModule.java | 1 -
.../solr/search/facet/FacetRangeProcessor.java | 1 -
.../search/facet/FacetRequestSortedMerger.java | 2 +-
.../apache/solr/search/facet/RelatednessAgg.java | 2 +-
.../solr/search/facet/SimpleAggValueSource.java | 3 +-
.../java/org/apache/solr/search/facet/SlotAcc.java | 1 -
.../apache/solr/search/facet/UnInvertedField.java | 1 -
.../search/function/CollapseScoreFunction.java | 3 +-
.../solr/search/function/FieldNameValueSource.java | 3 +-
.../solr/search/function/FileFloatSource.java | 4 +-
.../solr/search/function/MultiStringFunction.java | 3 +-
.../solr/search/function/OrdFieldSource.java | 3 +-
.../search/function/ReverseOrdFieldSource.java | 3 +-
.../search/function/distance/GeohashFunction.java | 5 +-
.../distance/GeohashHaversineFunction.java | 7 +-
.../function/distance/HaversineConstFunction.java | 7 +-
.../function/distance/HaversineFunction.java | 7 +-
.../function/distance/StringDistanceFunction.java | 5 +-
.../function/distance/VectorDistanceFunction.java | 7 +-
.../distributed/command/TopGroupsFieldCommand.java | 1 -
.../search/join/ChildFieldValueSourceParser.java | 2 +-
.../java/org/apache/solr/servlet/HttpSolrCall.java | 3 +-
.../solr/servlet/cache/HttpCacheHeaderUtil.java | 1 -
.../solr/spelling/suggest/SolrSuggester.java | 3 +-
.../org/apache/solr/update/IndexFingerprint.java | 10 +--
.../org/apache/solr/update/SolrIndexConfig.java | 36 +++++-----
.../src/java/org/apache/solr/update/UpdateLog.java | 4 +-
...AbstractDefaultValueUpdateProcessorFactory.java | 1 -
.../processor/AtomicUpdateDocumentMerger.java | 3 +-
.../processor/AtomicUpdateProcessorFactory.java | 3 +-
.../CloneFieldUpdateProcessorFactory.java | 2 -
.../ConcatFieldUpdateProcessorFactory.java | 1 -
.../DefaultValueUpdateProcessorFactory.java | 1 -
.../processor/DistributedZkUpdateProcessor.java | 2 +-
.../DocExpirationUpdateProcessorFactory.java | 1 -
.../FieldLengthUpdateProcessorFactory.java | 1 -
.../processor/FieldMutatingUpdateProcessor.java | 11 ++--
.../FieldMutatingUpdateProcessorFactory.java | 1 -
.../processor/RegexReplaceProcessorFactory.java | 1 -
.../RemoveBlankFieldUpdateProcessorFactory.java | 1 -
.../processor/TrimFieldUpdateProcessorFactory.java | 1 -
.../TruncateFieldUpdateProcessorFactory.java | 1 -
.../processor/UUIDUpdateProcessorFactory.java | 1 -
.../processor/UpdateRequestProcessorChain.java | 20 ++----
.../org/apache/solr/util/ConcurrentLRUCache.java | 4 +-
.../src/java/org/apache/solr/util/SolrCLI.java | 1 -
.../java/org/apache/solr/util/SolrLogLayout.java | 3 +-
.../java/org/apache/solr/util/TestInjection.java | 7 +-
.../util/circuitbreaker/CircuitBreakerManager.java | 1 -
.../SSLCredentialProviderFactory.java | 5 +-
.../solr/util/plugin/AbstractPluginLoader.java | 1 -
.../org/apache/solr/util/stats/MetricUtils.java | 2 -
.../test/org/apache/hadoop/http/HttpServer2.java | 3 -
.../org/apache/solr/TestDistributedGrouping.java | 1 -
.../apache/solr/analysis/TokenizerChainTest.java | 7 +-
.../DistribDocExpirationUpdateProcessorTest.java | 13 ++--
.../OverseerCollectionConfigSetProcessorTest.java | 2 +-
.../org/apache/solr/cloud/ReplaceNodeTest.java | 1 -
.../test/org/apache/solr/cloud/RouteFieldTest.java | 6 +-
.../org/apache/solr/cloud/SSLMigrationTest.java | 12 +---
.../solr/cloud/TestConfigSetsAPIShareSchema.java | 3 +-
.../org/apache/solr/cloud/TestHashPartitioner.java | 1 -
.../apache/solr/cloud/TestSSLRandomization.java | 28 ++++----
.../solr/cloud/TestStressInPlaceUpdates.java | 1 -
.../solr/cloud/api/collections/ShardSplitTest.java | 4 +-
.../cloud/overseer/TestClusterStateMutator.java | 6 +-
.../solr/core/BlobRepositoryMockingTest.java | 4 --
.../test/org/apache/solr/core/CoreSorterTest.java | 12 ++--
.../solr/core/CountUsageValueSourceParser.java | 2 +-
.../org/apache/solr/core/FakeDeletionPolicy.java | 7 +-
.../org/apache/solr/core/ResourceLoaderTest.java | 7 +-
.../org/apache/solr/core/TestConfigOverlay.java | 3 +-
.../test/org/apache/solr/core/TestInitParams.java | 9 ++-
.../solr/filestore/TestDistribPackageStore.java | 66 +++++++++++--------
.../apache/solr/handler/TestContainerPlugin.java | 4 +-
.../solr/handler/TestSolrConfigHandlerCloud.java | 4 +-
.../solr/handler/admin/MetricsHandlerTest.java | 8 +--
.../handler/admin/SecurityConfHandlerTest.java | 9 +--
.../solr/handler/admin/TestApiFramework.java | 12 ++--
.../apache/solr/handler/admin/TestConfigsApi.java | 2 +-
.../solr/handler/admin/TestCoreAdminApis.java | 3 +-
.../DistributedFacetPivotLongTailTest.java | 1 -
.../component/ResourceSharingTestComponent.java | 1 -
.../handler/component/SpellCheckComponentTest.java | 2 -
.../src/test/org/apache/solr/pkg/TestPackages.java | 77 ++++++++++++----------
.../solr/response/TestGraphMLResponseWriter.java | 1 -
.../response/TestJavabinTupleStreamParser.java | 8 +--
.../apache/solr/schema/SchemaApiFailureTest.java | 3 +-
.../apache/solr/search/RankQueryTestPlugin.java | 4 +-
.../solr/search/TestMaxScoreQueryParser.java | 6 +-
.../org/apache/solr/search/TestTaskManagement.java | 1 -
.../search/facet/TestCloudJSONFacetSKGEquiv.java | 6 +-
.../solr/security/BasicAuthIntegrationTest.java | 4 +-
.../security/PKIAuthenticationIntegrationTest.java | 6 +-
.../solr/spelling/SpellCheckCollatorTest.java | 1 -
.../test/org/apache/solr/update/TestUpdate.java | 2 +-
.../org/apache/solr/util/TestCircuitBreaker.java | 1 -
.../apache/solr/util/stats/MetricUtilsTest.java | 1 -
.../org/apache/solr/client/solrj/SolrClient.java | 4 +-
.../client/solrj/beans/DocumentObjectBinder.java | 16 ++---
.../org/apache/solr/client/solrj/beans/Field.java | 2 +-
.../client/solrj/cloud/DelegatingCloudManager.java | 2 +-
.../solr/client/solrj/cloud/SolrCloudManager.java | 2 +-
.../client/solrj/impl/BaseCloudSolrClient.java | 9 ++-
.../solrj/impl/BaseHttpClusterStateProvider.java | 5 +-
.../client/solrj/impl/ClusterStateProvider.java | 5 +-
.../solrj/impl/Http2ClusterStateProvider.java | 1 -
.../solrj/impl/HttpClusterStateProvider.java | 1 -
.../solr/client/solrj/impl/LBHttpSolrClient.java | 4 +-
.../solr/client/solrj/impl/LBSolrClient.java | 1 +
.../client/solrj/impl/SolrClientCloudManager.java | 2 +-
.../solrj/impl/SolrClientNodeStateProvider.java | 6 +-
.../solrj/impl/SolrHttpRequestRetryHandler.java | 1 -
.../apache/solr/client/solrj/io/ModelCache.java | 2 +-
.../client/solrj/io/eval/FieldValueEvaluator.java | 1 -
.../solr/client/solrj/io/eval/IsNullEvaluator.java | 5 +-
.../client/solrj/io/eval/NotNullEvaluator.java | 5 +-
.../client/solrj/io/graph/GatherNodesStream.java | 5 +-
.../client/solrj/io/sql/ResultSetMetaDataImpl.java | 3 +-
.../solr/client/solrj/io/stream/SelectStream.java | 1 -
.../solr/client/solrj/io/stream/StreamContext.java | 25 +++----
.../client/solrj/io/stream/expr/Explanation.java | 3 +-
.../solrj/io/stream/expr/StreamExplanation.java | 1 -
.../client/solrj/io/stream/expr/StreamFactory.java | 53 ++++++---------
.../solrj/request/CollectionAdminRequest.java | 4 +-
.../client/solrj/request/CollectionApiMapping.java | 28 ++++----
.../solr/client/solrj/request/CoreApiMapping.java | 14 ++--
.../solr/client/solrj/request/RequestWriter.java | 4 +-
.../solr/client/solrj/request/UpdateRequest.java | 3 +-
.../client/solrj/response/SpellCheckResponse.java | 1 -
.../solrj/response/schema/SchemaResponse.java | 11 ----
.../org/apache/solr/common/MapSerializable.java | 3 +-
.../src/java/org/apache/solr/common/MapWriter.java | 2 +-
.../java/org/apache/solr/common/MapWriterMap.java | 9 +--
.../java/org/apache/solr/common/SolrException.java | 1 -
.../java/org/apache/solr/common/cloud/Aliases.java | 1 -
.../apache/solr/common/cloud/SolrClassLoader.java | 3 +-
.../org/apache/solr/common/cloud/ZkNodeProps.java | 6 +-
.../apache/solr/common/cloud/ZkStateReader.java | 20 +++---
.../apache/solr/common/util/CommandOperation.java | 5 +-
.../apache/solr/common/util/JsonSchemaCreator.java | 5 +-
.../solr/common/util/JsonSchemaValidator.java | 5 +-
.../src/java/org/apache/solr/common/util/Pair.java | 5 +-
.../org/apache/solr/common/util/RetryUtil.java | 20 +++---
.../java/org/apache/solr/common/util/Utils.java | 28 +++++---
.../solrj/io/stream/CloudAuthStreamTest.java | 19 +++---
.../solrj/request/TestUpdateRequestCodec.java | 12 ++--
.../routing/NodePreferenceRulesComparatorTest.java | 11 ++--
...RequestReplicaListTransformerGeneratorTest.java | 13 ++--
.../org/apache/solr/common/util/NamedListTest.java | 8 +--
.../apache/solr/common/util/TestJavaBinCodec.java | 29 ++++----
.../org/apache/solr/common/util/TestRetryUtil.java | 53 +++++++--------
.../solr/common/util/TestSolrJsonWriter.java | 2 +-
.../solr/common/util/TestValidatingJsonMap.java | 6 +-
.../src/java/org/apache/solr/SolrTestCaseJ4.java | 38 +++++------
.../solr/cloud/AbstractFullDistribZkTestBase.java | 17 ++---
.../org/apache/solr/cloud/CloudInspectUtil.java | 1 -
.../java/org/apache/solr/cloud/ZkTestServer.java | 6 +-
.../java/org/apache/solr/util/RandomizeSSL.java | 28 ++++----
245 files changed, 768 insertions(+), 1045 deletions(-)
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index e1330ca..7f44a2e 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -301,6 +301,8 @@ Other Changes
* SOLR-15439: Upgrade jose4j library used for JWT authentication processing, to v0.7.7 (janhoy)
+* SOLR-15385: Address many rawtypes warnings, resulting in several modified signatures in the public API. (Mike Drob, David Smiley)
+
Bug Fixes
---------------------
* SOLR-14546: Fix for a relatively hard to hit issue in OverseerTaskProcessor that could lead to out of order execution
diff --git a/solr/contrib/analysis-extras/src/java/org/apache/solr/update/processor/OpenNLPExtractNamedEntitiesUpdateProcessorFactory.java b/solr/contrib/analysis-extras/src/java/org/apache/solr/update/processor/OpenNLPExtractNamedEntitiesUpdateProcessorFactory.java
index 9fcf5ca..7e60e9a 100644
--- a/solr/contrib/analysis-extras/src/java/org/apache/solr/update/processor/OpenNLPExtractNamedEntitiesUpdateProcessorFactory.java
+++ b/solr/contrib/analysis-extras/src/java/org/apache/solr/update/processor/OpenNLPExtractNamedEntitiesUpdateProcessorFactory.java
@@ -213,7 +213,6 @@ public class OpenNLPExtractNamedEntitiesUpdateProcessorFactory
throw new SolrException(SERVER_ERROR, "selector was never initialized, inform(SolrCore) never called???");
}
- @SuppressWarnings("unchecked")
@Override
public void init(@SuppressWarnings({"rawtypes"})NamedList args) {
@@ -259,7 +258,6 @@ public class OpenNLPExtractNamedEntitiesUpdateProcessorFactory
* init helper method that should only be called when we know for certain that both the
* "source" and "dest" init params do <em>not</em> exist.
*/
- @SuppressWarnings("unchecked")
private void initSimpleRegexReplacement(@SuppressWarnings({"rawtypes"})NamedList args) {
// The syntactic sugar for the case where there is only one regex pattern for source and the same pattern
// is used for the destination pattern...
diff --git a/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/ClusteringComponent.java b/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/ClusteringComponent.java
index 3c0e06e..7d728f4 100644
--- a/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/ClusteringComponent.java
+++ b/solr/contrib/clustering/src/java/org/apache/solr/handler/clustering/ClusteringComponent.java
@@ -243,7 +243,6 @@ public class ClusteringComponent extends SearchComponent implements SolrCoreAwar
}
}
- @SuppressWarnings("unchecked")
@Override
public void inform(SolrCore core) {
declaredEngines.forEach(engineEntry -> {
diff --git a/solr/contrib/ltr/src/java/org/apache/solr/ltr/feature/Feature.java b/solr/contrib/ltr/src/java/org/apache/solr/ltr/feature/Feature.java
index 52a0cef..df6b60c 100644
--- a/solr/contrib/ltr/src/java/org/apache/solr/ltr/feature/Feature.java
+++ b/solr/contrib/ltr/src/java/org/apache/solr/ltr/feature/Feature.java
@@ -68,14 +68,13 @@ public abstract class Feature extends Query implements Accountable {
final private Map<String,Object> params;
- @SuppressWarnings({"rawtypes"})
public static Feature getInstance(SolrResourceLoader solrResourceLoader,
String className, String name, Map<String,Object> params) {
final Feature f = solrResourceLoader.newInstance(
className,
Feature.class,
new String[0], // no sub packages
- new Class[] { String.class, Map.class },
+ new Class<?>[] { String.class, Map.class },
new Object[] { name, params });
if (params != null) {
SolrPluginUtils.invokeSetters(f, params.entrySet());
diff --git a/solr/contrib/ltr/src/java/org/apache/solr/ltr/model/LTRScoringModel.java b/solr/contrib/ltr/src/java/org/apache/solr/ltr/model/LTRScoringModel.java
index e148759..b1fb21f 100644
--- a/solr/contrib/ltr/src/java/org/apache/solr/ltr/model/LTRScoringModel.java
+++ b/solr/contrib/ltr/src/java/org/apache/solr/ltr/model/LTRScoringModel.java
@@ -89,7 +89,6 @@ public abstract class LTRScoringModel implements Accountable {
protected final List<Normalizer> norms;
private Integer hashCode; // cached since it shouldn't actually change after construction
- @SuppressWarnings({"rawtypes"})
public static LTRScoringModel getInstance(SolrResourceLoader solrResourceLoader,
String className, String name, List<Feature> features,
List<Normalizer> norms,
@@ -102,7 +101,7 @@ public abstract class LTRScoringModel implements Accountable {
className,
LTRScoringModel.class,
new String[0], // no sub packages
- new Class[] { String.class, List.class, List.class, String.class, List.class, Map.class },
+ new Class<?>[] { String.class, List.class, List.class, String.class, List.class, Map.class },
new Object[] { name, features, norms, featureStoreName, allFeatures, params });
if (params != null) {
SolrPluginUtils.invokeSetters(model, params.entrySet());
diff --git a/solr/contrib/ltr/src/java/org/apache/solr/ltr/store/rest/ManagedModelStore.java b/solr/contrib/ltr/src/java/org/apache/solr/ltr/store/rest/ManagedModelStore.java
index 0627d79..b4f3c42 100644
--- a/solr/contrib/ltr/src/java/org/apache/solr/ltr/store/rest/ManagedModelStore.java
+++ b/solr/contrib/ltr/src/java/org/apache/solr/ltr/store/rest/ManagedModelStore.java
@@ -105,7 +105,6 @@ public class ManagedModelStore extends ManagedResource implements ManagedResourc
private Object managedData;
- @SuppressWarnings("unchecked")
@Override
protected void onManagedDataLoadedFromStorage(NamedList<?> managedInitArgs,
Object managedData) throws SolrException {
diff --git a/solr/core/src/java/org/apache/solr/api/AnnotatedApi.java b/solr/core/src/java/org/apache/solr/api/AnnotatedApi.java
index 7b57069..628aca7 100644
--- a/solr/core/src/java/org/apache/solr/api/AnnotatedApi.java
+++ b/solr/core/src/java/org/apache/solr/api/AnnotatedApi.java
@@ -101,14 +101,14 @@ public class AnnotatedApi extends Api implements PermissionNameProvider , Closea
* then absence of Api-s is silently ignored.
* @return list of discovered Api-s
*/
- public static List<Api> getApis(Class<? extends Object> theClass , Object obj, boolean allowEmpty) {
+ public static List<Api> getApis(Class<?> theClass , Object obj, boolean allowEmpty) {
Class<?> klas = null;
try {
klas = MethodHandles.publicLookup().accessClass(theClass);
} catch (IllegalAccessException e) {
throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "Method may be non-public/inaccessible", e);
}
- if (klas.getAnnotation(EndPoint.class) != null) {
+ if (klas.isAnnotationPresent(EndPoint.class)) {
EndPoint endPoint = klas.getAnnotation(EndPoint.class);
List<Method> methods = new ArrayList<>();
Map<String, Cmd> commands = new HashMap<>();
@@ -158,10 +158,9 @@ public class AnnotatedApi extends Api implements PermissionNameProvider , Closea
return endPoint.permission();
}
- @SuppressWarnings({"unchecked", "rawtypes"})
private static SpecProvider readSpec(EndPoint endPoint, List<Method> m) {
return () -> {
- Map map = new LinkedHashMap();
+ Map<String, Object> map = new LinkedHashMap<>();
List<String> methods = new ArrayList<>();
for (SolrRequest.METHOD method : endPoint.method()) {
methods.add(method.name());
@@ -229,8 +228,7 @@ public class AnnotatedApi extends Api implements PermissionNameProvider , Closea
final Object obj;
int paramsCount;
- @SuppressWarnings({"rawtypes"})
- Class parameterClass;
+ Class<?> parameterClass;
boolean isWrappedInPayloadObj = false;
@@ -258,7 +256,6 @@ public class AnnotatedApi extends Api implements PermissionNameProvider , Closea
}
}
- @SuppressWarnings("rawtypes")
private void readPayloadType(Type t) {
if (t instanceof ParameterizedType) {
ParameterizedType typ = (ParameterizedType) t;
@@ -272,18 +269,17 @@ public class AnnotatedApi extends Api implements PermissionNameProvider , Closea
Type t1 = typ.getActualTypeArguments()[0];
if (t1 instanceof ParameterizedType) {
ParameterizedType parameterizedType = (ParameterizedType) t1;
- parameterClass = (Class) parameterizedType.getRawType();
+ parameterClass = (Class<?>) parameterizedType.getRawType();
} else {
- parameterClass = (Class) typ.getActualTypeArguments()[0];
+ parameterClass = (Class<?>) typ.getActualTypeArguments()[0];
}
}
} else {
- parameterClass = (Class) t;
+ parameterClass = (Class<?>) t;
}
}
- @SuppressWarnings({"unchecked"})
void invoke(SolrQueryRequest req, SolrQueryResponse rsp, CommandOperation cmd) {
Object original = null;
try {
diff --git a/solr/core/src/java/org/apache/solr/api/ApiBag.java b/solr/core/src/java/org/apache/solr/api/ApiBag.java
index 8b64829..aa64cec 100644
--- a/solr/core/src/java/org/apache/solr/api/ApiBag.java
+++ b/solr/core/src/java/org/apache/solr/api/ApiBag.java
@@ -70,17 +70,15 @@ public class ApiBag {
/**Register a POJO annotated with {@link EndPoint}
* @param o the instance to be used for invocations
*/
- @SuppressWarnings({"unchecked"})
public synchronized List<Api> registerObject(Object o) {
List<Api> l = AnnotatedApi.getApis(o);
for (Api api : l) {
- register(api, Collections.EMPTY_MAP);
+ register(api, Collections.emptyMap());
}
return l;
}
- @SuppressWarnings({"unchecked"})
public synchronized void register(Api api) {
- register(api, Collections.EMPTY_MAP);
+ register(api, Collections.emptyMap());
}
public synchronized void register(Api api, Map<String, String> nameSubstitutes) {
try {
diff --git a/solr/core/src/java/org/apache/solr/api/ContainerPluginsRegistry.java b/solr/core/src/java/org/apache/solr/api/ContainerPluginsRegistry.java
index e92f715..06015b4 100644
--- a/solr/core/src/java/org/apache/solr/api/ContainerPluginsRegistry.java
+++ b/solr/core/src/java/org/apache/solr/api/ContainerPluginsRegistry.java
@@ -56,7 +56,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import static org.apache.lucene.util.IOUtils.closeWhileHandlingException;
-import static org.apache.solr.common.util.Utils.makeMap;
/**
* This class manages the container-level plugins and their Api-s. It is
@@ -253,9 +252,8 @@ public class ContainerPluginsRegistry implements ClusterPropertiesListener, MapW
return path;
}
- @SuppressWarnings({"rawtypes", "unchecked"})
- private static Map<String, String> getTemplateVars(PluginMeta pluginMeta) {
- return (Map) makeMap("plugin-name", pluginMeta.name, "path-prefix", pluginMeta.pathPrefix);
+ private static Map<String, String> getTemplateVars(PluginMeta pluginMeta) {
+ return Utils.makeMap("plugin-name", pluginMeta.name, "path-prefix", pluginMeta.pathPrefix);
}
private static class ApiHolder extends Api {
@@ -294,7 +292,7 @@ public class ContainerPluginsRegistry implements ClusterPropertiesListener, MapW
public final String pkg;
private PackageLoader.Package.Version pkgVersion;
- private Class klas;
+ private Class<?> klas;
Object instance;
ApiHolder get(EndPoint endPoint) {
@@ -315,7 +313,6 @@ public class ContainerPluginsRegistry implements ClusterPropertiesListener, MapW
public PluginMeta getInfo() {
return info.copy();
}
- @SuppressWarnings({"unchecked","rawtypes"})
public ApiInfo(PluginMetaHolder infoHolder, List<String> errs) {
this.holder = infoHolder;
this.info = infoHolder.meta;
@@ -394,7 +391,7 @@ public class ContainerPluginsRegistry implements ClusterPropertiesListener, MapW
}
}
- @SuppressWarnings({"rawtypes", "unchecked"})
+ @SuppressWarnings({"unchecked"})
public void init() throws Exception {
if (this.holders != null) return;
Constructor constructor = klas.getConstructors()[0];
@@ -410,7 +407,7 @@ public class ContainerPluginsRegistry implements ClusterPropertiesListener, MapW
if (c != null) {
Map<String, Object> original = (Map<String, Object>) holder.original.getOrDefault("config", Collections.emptyMap());
holder.meta.config = mapper.readValue(Utils.toJSON(original), c);
- ((ConfigurablePlugin) instance).configure(holder.meta.config);
+ ((ConfigurablePlugin<MapWriter>) instance).configure(holder.meta.config);
}
}
@@ -432,9 +429,9 @@ public class ContainerPluginsRegistry implements ClusterPropertiesListener, MapW
/**
* Get the generic type of a {@link ConfigurablePlugin}
*/
- @SuppressWarnings("rawtypes")
- public static Class getConfigClass(ConfigurablePlugin<?> o) {
- Class klas = o.getClass();
+ @SuppressWarnings("unchecked")
+ public static <T extends MapWriter> Class<T> getConfigClass(ConfigurablePlugin<T> o) {
+ Class<?> klas = o.getClass();
do {
Type[] interfaces = klas.getGenericInterfaces();
for (Type type : interfaces) {
@@ -443,8 +440,9 @@ public class ContainerPluginsRegistry implements ClusterPropertiesListener, MapW
Type rawType = parameterizedType.getRawType();
if (rawType == ConfigurablePlugin.class ||
// or if a super interface is a ConfigurablePlugin
- ((rawType instanceof Class) && ConfigurablePlugin.class.isAssignableFrom((Class) rawType))) {
- return (Class) parameterizedType.getActualTypeArguments()[0];
+ ((rawType instanceof Class<?>) && ConfigurablePlugin.class.isAssignableFrom((Class<?>) rawType))) {
+
+ return (Class<T>) parameterizedType.getActualTypeArguments()[0];
}
}
}
diff --git a/solr/core/src/java/org/apache/solr/client/solrj/embedded/EmbeddedSolrServer.java b/solr/core/src/java/org/apache/solr/client/solrj/embedded/EmbeddedSolrServer.java
index 62cc25e..1066c3e 100644
--- a/solr/core/src/java/org/apache/solr/client/solrj/embedded/EmbeddedSolrServer.java
+++ b/solr/core/src/java/org/apache/solr/client/solrj/embedded/EmbeddedSolrServer.java
@@ -156,8 +156,7 @@ public class EmbeddedSolrServer extends SolrClient {
// It *should* be able to convert the response directly into a named list.
@Override
- @SuppressWarnings({"unchecked"})
- public NamedList<Object> request(@SuppressWarnings({"rawtypes"})SolrRequest request, String coreName) throws SolrServerException, IOException {
+ public NamedList<Object> request(SolrRequest<?> request, String coreName) throws SolrServerException, IOException {
String path = request.getPath();
if (path == null || !path.startsWith("/")) {
@@ -253,7 +252,9 @@ public class EmbeddedSolrServer extends SolrClient {
createJavaBinCodec(callback, resolver).setWritableDocFields(resolver).marshal(rsp.getValues(), out);
try (InputStream in = out.toInputStream()) {
- return (NamedList<Object>) new JavaBinCodec(resolver).unmarshal(in);
+ @SuppressWarnings({"unchecked"})
+ NamedList<Object> resolved = (NamedList<Object>) new JavaBinCodec(resolver).unmarshal(in);
+ return resolved;
}
}
} catch (Exception ex) {
@@ -276,7 +277,7 @@ public class EmbeddedSolrServer extends SolrClient {
}
}
- private Set<ContentStream> getContentStreams(@SuppressWarnings({"rawtypes"})SolrRequest request) throws IOException {
+ private Set<ContentStream> getContentStreams(SolrRequest<?> request) throws IOException {
if (request.getMethod() == SolrRequest.METHOD.GET) return null;
if (request instanceof ContentStreamUpdateRequest) {
final ContentStreamUpdateRequest csur = (ContentStreamUpdateRequest) request;
diff --git a/solr/core/src/java/org/apache/solr/cloud/CloudUtil.java b/solr/core/src/java/org/apache/solr/cloud/CloudUtil.java
index d98f783..b4e5452 100644
--- a/solr/core/src/java/org/apache/solr/cloud/CloudUtil.java
+++ b/solr/core/src/java/org/apache/solr/cloud/CloudUtil.java
@@ -130,7 +130,6 @@ public class CloudUtil {
/**Read the list of public keys from ZK
*/
- @SuppressWarnings({"unchecked"})
public static Map<String, byte[]> getTrustedKeys(SolrZkClient zk, String dir) {
Map<String, byte[]> result = new HashMap<>();
try {
@@ -141,7 +140,7 @@ public class CloudUtil {
}
} catch (KeeperException.NoNodeException e) {
log.info("Error fetching key names");
- return Collections.EMPTY_MAP;
+ return Collections.emptyMap();
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
throw new SolrException(ErrorCode.SERVER_ERROR,"Unable to read crypto keys",e );
diff --git a/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java b/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java
index e496d14..d35583c 100644
--- a/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java
+++ b/solr/core/src/java/org/apache/solr/cloud/OverseerTaskProcessor.java
@@ -487,7 +487,6 @@ public class OverseerTaskProcessor implements Runnable, Closeable {
return isClosed;
}
- @SuppressWarnings("unchecked")
private void markTaskAsRunning(QueueEvent head, String asyncId)
throws KeeperException, InterruptedException {
runningZKTasks.add(head.getId());
diff --git a/solr/core/src/java/org/apache/solr/cloud/ShardLeaderElectionContextBase.java b/solr/core/src/java/org/apache/solr/cloud/ShardLeaderElectionContextBase.java
index 2118ad0..fc87008 100644
--- a/solr/core/src/java/org/apache/solr/cloud/ShardLeaderElectionContextBase.java
+++ b/solr/core/src/java/org/apache/solr/cloud/ShardLeaderElectionContextBase.java
@@ -117,7 +117,7 @@ class ShardLeaderElectionContextBase extends ElectionContext {
String parent = ZkMaintenanceUtils.getZkParent(leaderPath);
try {
- RetryUtil.retryOnThrowable(NodeExistsException.class, 60000, 5000, () -> {
+ RetryUtil.retryOnException(NodeExistsException.class, 60000, 5000, () -> {
synchronized (lock) {
log.info("Creating leader registration node {} after winning as {}", leaderPath, leaderSeqPath);
List<Op> ops = new ArrayList<>(2);
@@ -147,10 +147,9 @@ class ShardLeaderElectionContextBase extends ElectionContext {
} catch (NoNodeException e) {
log.info("Will not register as leader because it seems the election is no longer taking place.");
return;
+ } catch (OutOfMemoryError e) {
+ throw e;
} catch (Throwable t) {
- if (t instanceof OutOfMemoryError) {
- throw (OutOfMemoryError) t;
- }
throw new SolrException(ErrorCode.SERVER_ERROR, "Could not register as the leader because creating the ephemeral registration node in ZooKeeper failed", t);
}
@@ -166,11 +165,11 @@ class ShardLeaderElectionContextBase extends ElectionContext {
}
}
if (!isAlreadyLeader) {
- ZkNodeProps m = ZkNodeProps.fromKeyVals(Overseer.QUEUE_OPERATION, OverseerAction.LEADER.toLower(),
+ ZkNodeProps m = new ZkNodeProps(Overseer.QUEUE_OPERATION, OverseerAction.LEADER.toLower(),
ZkStateReader.SHARD_ID_PROP, shardId,
ZkStateReader.COLLECTION_PROP, collection,
- ZkStateReader.NODE_NAME_PROP, leaderProps.get(ZkStateReader.NODE_NAME_PROP),
- ZkStateReader.CORE_NAME_PROP, leaderProps.get(ZkStateReader.CORE_NAME_PROP),
+ ZkStateReader.NODE_NAME_PROP, leaderProps.getStr(ZkStateReader.NODE_NAME_PROP),
+ ZkStateReader.CORE_NAME_PROP, leaderProps.getStr(ZkStateReader.CORE_NAME_PROP),
ZkStateReader.STATE_PROP, Replica.State.ACTIVE.toString());
assert zkController != null;
assert zkController.getOverseer() != null;
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/CollApiCmds.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/CollApiCmds.java
index 164ee63..be1fc30 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/CollApiCmds.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/CollApiCmds.java
@@ -184,7 +184,6 @@ public class CollApiCmds {
this.ccc = ccc;
}
- @SuppressWarnings("unchecked")
public void call(ClusterState clusterState, ZkNodeProps message, @SuppressWarnings({"rawtypes"}) NamedList results)
throws Exception {
CollectionHandlingUtils.checkRequired(message, COLLECTION_PROP, SHARD_ID_PROP, CORE_NAME_PROP, ELECTION_NODE_PROP,
@@ -221,7 +220,6 @@ public class CollApiCmds {
this.ccc = ccc;
}
- @SuppressWarnings("unchecked")
public void call(ClusterState clusterState, ZkNodeProps message, @SuppressWarnings({"rawtypes"})NamedList results)
throws Exception {
CollectionHandlingUtils.checkRequired(message, COLLECTION_PROP, SHARD_ID_PROP, REPLICA_PROP, PROPERTY_PROP, PROPERTY_VALUE_PROP);
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/CollectionHandlingUtils.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/CollectionHandlingUtils.java
index b3358a4..f56c9aa 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/CollectionHandlingUtils.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/CollectionHandlingUtils.java
@@ -72,7 +72,6 @@ import org.slf4j.LoggerFactory;
import static org.apache.solr.common.params.CollectionParams.CollectionAction.DELETE;
import static org.apache.solr.common.params.CommonAdminParams.ASYNC;
import static org.apache.solr.common.params.CommonParams.NAME;
-import static org.apache.solr.common.util.Utils.makeMap;
/**
* This class contains helper methods used by commands of the Collection API. Previously these methods were in
@@ -103,7 +102,8 @@ public class CollectionHandlingUtils {
static final String SKIP_CREATE_REPLICA_IN_CLUSTER_STATE = "skipCreateReplicaInClusterState";
- public static final Map<String, Object> COLLECTION_PROPS_AND_DEFAULTS = Collections.unmodifiableMap(makeMap(
+ // Immutable Maps are null-hostile, so build our own
+ public static final Map<String, Object> COLLECTION_PROPS_AND_DEFAULTS = Collections.unmodifiableMap(Utils.makeMap(
ROUTER, DocRouter.DEFAULT_NAME,
ZkStateReader.REPLICATION_FACTOR, "1",
ZkStateReader.NRT_REPLICAS, "1",
@@ -253,7 +253,7 @@ public class CollectionHandlingUtils {
static void cleanupCollection(String collectionName, @SuppressWarnings({"rawtypes"})NamedList results, CollectionCommandContext ccc) throws Exception {
log.error("Cleaning up collection [{}].", collectionName);
- Map<String, Object> props = makeMap(
+ Map<String, Object> props = Map.of(
Overseer.QUEUE_OPERATION, DELETE.toLower(),
NAME, collectionName);
new DeleteCollectionCmd(ccc).call(ccc.getZkStateReader().getClusterState(), new ZkNodeProps(props), results);
@@ -316,7 +316,7 @@ public class CollectionHandlingUtils {
if (configName != null) {
String collDir = ZkStateReader.COLLECTIONS_ZKNODE + "/" + coll;
log.debug("creating collections conf node {} ", collDir);
- byte[] data = Utils.toJSON(makeMap(ZkController.CONFIGNAME_PROP, configName));
+ byte[] data = Utils.toJSON(Map.of(ZkController.CONFIGNAME_PROP, configName));
if (stateManager.hasData(collDir)) {
stateManager.setData(collDir, data, -1);
} else {
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateAliasCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateAliasCmd.java
index 18b0b5b..a05b8d4 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateAliasCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/CreateAliasCmd.java
@@ -107,7 +107,6 @@ public class CreateAliasCmd extends AliasCmd {
.collect(Collectors.toList());
}
- @SuppressWarnings("unchecked")
private void callCreateRoutedAlias(ZkNodeProps message, String aliasName, ZkStateReader zkStateReader, ClusterState state) throws Exception {
// Validate we got a basic minimum
if (!message.getProperties().keySet().containsAll(RoutedAlias.MINIMAL_REQUIRED_PARAMS)) {
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteReplicaCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteReplicaCmd.java
index b9b43b1..2448827 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteReplicaCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/DeleteReplicaCmd.java
@@ -63,13 +63,11 @@ public class DeleteReplicaCmd implements CollectionApiCommand {
}
@Override
- @SuppressWarnings("unchecked")
public void call(ClusterState clusterState, ZkNodeProps message, @SuppressWarnings({"rawtypes"})NamedList results) throws Exception {
deleteReplica(clusterState, message, results,null);
}
- @SuppressWarnings("unchecked")
void deleteReplica(ClusterState clusterState, ZkNodeProps message, @SuppressWarnings({"rawtypes"})NamedList results, Runnable onComplete)
throws KeeperException, IOException, InterruptedException {
if (log.isDebugEnabled()) {
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/MigrateCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/MigrateCmd.java
index 80818a8..d17f28f 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/MigrateCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/MigrateCmd.java
@@ -58,7 +58,6 @@ import static org.apache.solr.common.params.CollectionParams.CollectionAction.CR
import static org.apache.solr.common.params.CollectionParams.CollectionAction.DELETE;
import static org.apache.solr.common.params.CommonAdminParams.ASYNC;
import static org.apache.solr.common.params.CommonParams.NAME;
-import static org.apache.solr.common.util.Utils.makeMap;
public class MigrateCmd implements CollApiCmds.CollectionApiCommand {
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
@@ -141,7 +140,7 @@ public class MigrateCmd implements CollApiCmds.CollectionApiCommand {
ZkStateReader zkStateReader = ccc.getZkStateReader();
if (clusterState.hasCollection(tempSourceCollectionName)) {
log.info("Deleting temporary collection: {}", tempSourceCollectionName);
- Map<String, Object> props = makeMap(
+ Map<String, Object> props = Map.of(
Overseer.QUEUE_OPERATION, DELETE.toLower(),
NAME, tempSourceCollectionName);
@@ -232,7 +231,7 @@ public class MigrateCmd implements CollApiCmds.CollectionApiCommand {
// create a temporary collection with just one node on the shard leader
String configName = zkStateReader.readConfigName(sourceCollection.getName());
- Map<String, Object> props = makeMap(
+ Map<String, Object> props = Utils.makeMap(
Overseer.QUEUE_OPERATION, CREATE.toLower(),
NAME, tempSourceCollectionName,
NRT_REPLICAS, 1,
@@ -370,7 +369,7 @@ public class MigrateCmd implements CollApiCmds.CollectionApiCommand {
}
try {
log.info("Deleting temporary collection: {}", tempSourceCollectionName);
- props = makeMap(
+ props = Map.of(
Overseer.QUEUE_OPERATION, DELETE.toLower(),
NAME, tempSourceCollectionName);
new DeleteCollectionCmd(ccc).call(zkStateReader.getClusterState(), new ZkNodeProps(props), results);
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/RestoreCmd.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/RestoreCmd.java
index 1ee8c18..fb76bfc 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/RestoreCmd.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/RestoreCmd.java
@@ -86,7 +86,7 @@ public class RestoreCmd implements CollApiCmds.CollectionApiCommand {
}
@Override
- @SuppressWarnings({"unchecked", "rawtypes"})
+ @SuppressWarnings({"rawtypes"})
public void call(ClusterState state, ZkNodeProps message, NamedList results) throws Exception {
try (RestoreContext restoreContext = new RestoreContext(message, ccc)) {
if (state.hasCollection(restoreContext.restoreCollectionName)) {
diff --git a/solr/core/src/java/org/apache/solr/cloud/api/collections/RoutedAlias.java b/solr/core/src/java/org/apache/solr/cloud/api/collections/RoutedAlias.java
index cb53e23..c72d16f 100644
--- a/solr/core/src/java/org/apache/solr/cloud/api/collections/RoutedAlias.java
+++ b/solr/core/src/java/org/apache/solr/cloud/api/collections/RoutedAlias.java
@@ -105,10 +105,10 @@ public abstract class RoutedAlias {
// v2 api case - the v2 -> v1 mapping mechanisms can't handle this conversion because they expect
// strings or arrays of strings, not lists of objects.
+ // TODO: The generic types for props are a lie
if (props.containsKey("router.routerList")) {
- @SuppressWarnings({"unchecked", "rawtypes"})
- HashMap tmp = new HashMap(props);
- @SuppressWarnings({"unchecked", "rawtypes"})
+ HashMap<String, Object> tmp = new HashMap<>(props);
+ @SuppressWarnings({"unchecked"})
List<Map<String, Object>> v2RouterList = (List<Map<String, Object>>) tmp.get("router.routerList");
Map<String, Object> o = v2RouterList.get(i);
for (Map.Entry<String, Object> entry : o.entrySet()) {
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 94c89a0..472d1b2 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
@@ -53,8 +53,7 @@ public class CollectionMutator {
DocCollection collection = clusterState.getCollection(collectionName);
Slice slice = collection.getSlice(shardId);
if (slice == null) {
- @SuppressWarnings({"unchecked"})
- Map<String, Replica> replicas = Collections.EMPTY_MAP;
+ Map<String, Replica> replicas = Collections.emptyMap();
Map<String, Object> sliceProps = new HashMap<>();
String shardRange = message.getStr(ZkStateReader.SHARD_RANGE_PROP);
String shardState = message.getStr(ZkStateReader.SHARD_STATE_PROP);
diff --git a/solr/core/src/java/org/apache/solr/cloud/overseer/ReplicaMutator.java b/solr/core/src/java/org/apache/solr/cloud/overseer/ReplicaMutator.java
index f96acfc..96efbb8 100644
--- a/solr/core/src/java/org/apache/solr/cloud/overseer/ReplicaMutator.java
+++ b/solr/core/src/java/org/apache/solr/cloud/overseer/ReplicaMutator.java
@@ -47,7 +47,6 @@ import org.apache.solr.common.cloud.SolrZkClient;
import org.apache.solr.common.cloud.ZkNodeProps;
import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.params.CollectionAdminParams;
-import org.apache.solr.common.util.Utils;
import org.apache.solr.util.TestInjection;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -247,7 +246,8 @@ public class ReplicaMutator {
boolean collectionExists = prevState.hasCollection(cName);
if (!collectionExists && numShards != null) {
ClusterStateMutator.getShardNames(numShards, shardNames);
- Map<String, Object> createMsg = Utils.makeMap(NAME, cName);
+ Map<String, Object> createMsg = new HashMap<>();
+ createMsg.put(NAME, cName);
createMsg.putAll(message.getProperties());
writeCommand = new ClusterStateMutator(cloudManager).createCollection(prevState, new ZkNodeProps(createMsg));
DocCollection collection = writeCommand.collection;
diff --git a/solr/core/src/java/org/apache/solr/cloud/overseer/SliceMutator.java b/solr/core/src/java/org/apache/solr/cloud/overseer/SliceMutator.java
index 97285cc..4d7d93b 100644
--- a/solr/core/src/java/org/apache/solr/cloud/overseer/SliceMutator.java
+++ b/solr/core/src/java/org/apache/solr/cloud/overseer/SliceMutator.java
@@ -40,11 +40,11 @@ import org.apache.solr.common.cloud.ZkCoreNodeProps;
import org.apache.solr.common.cloud.ZkNodeProps;
import org.apache.solr.common.cloud.ZkStateReader;
import org.apache.solr.common.params.CollectionAdminParams;
+import org.apache.solr.common.util.Utils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import static org.apache.solr.cloud.overseer.CollectionMutator.checkCollectionKeyExistence;
-import static org.apache.solr.common.util.Utils.makeMap;
public class SliceMutator {
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
@@ -89,8 +89,7 @@ public class SliceMutator {
} else {
coreNodeName = Assign.assignCoreNodeName(stateManager, collection);
}
- Replica replica = new Replica(coreNodeName,
- makeMap(
+ Replica replica = new Replica(coreNodeName, Utils.makeMap(
ZkStateReader.CORE_NAME_PROP, message.getStr(ZkStateReader.CORE_NAME_PROP),
ZkStateReader.STATE_PROP, message.getStr(ZkStateReader.STATE_PROP),
ZkStateReader.NODE_NAME_PROP, message.getStr(ZkStateReader.NODE_NAME_PROP),
diff --git a/solr/core/src/java/org/apache/solr/cluster/placement/impl/MetricImpl.java b/solr/core/src/java/org/apache/solr/cluster/placement/impl/MetricImpl.java
index 7b789d7..21a4740 100644
--- a/solr/core/src/java/org/apache/solr/cluster/placement/impl/MetricImpl.java
+++ b/solr/core/src/java/org/apache/solr/cluster/placement/impl/MetricImpl.java
@@ -46,7 +46,6 @@ public abstract class MetricImpl<T> implements Metric<T> {
* Bytes to gigabytes converter. Supports converting number or string
* representations of raw values expressed in bytes.
*/
- @SuppressWarnings("unchecked")
public static final Function<Object, Double> BYTES_TO_GB_CONVERTER = v -> {
double sizeInBytes;
if (!(v instanceof Number)) {
diff --git a/solr/core/src/java/org/apache/solr/core/BlobRepository.java b/solr/core/src/java/org/apache/solr/core/BlobRepository.java
index cf7d960..ba0917c 100644
--- a/solr/core/src/java/org/apache/solr/core/BlobRepository.java
+++ b/solr/core/src/java/org/apache/solr/core/BlobRepository.java
@@ -276,7 +276,7 @@ public class BlobRepository {
*
* @param ref The reference that is already there. Doing multiple calls with same ref will not matter
*/
- public void decrementBlobRefCount(@SuppressWarnings({"rawtypes"})BlobContentRef ref) {
+ public void decrementBlobRefCount(BlobContentRef<?> ref) {
if (ref == null) return;
synchronized (ref.blob.references) {
if (!ref.blob.references.remove(ref)) {
diff --git a/solr/core/src/java/org/apache/solr/core/ConfigOverlay.java b/solr/core/src/java/org/apache/solr/core/ConfigOverlay.java
index 75793a2..8ffefce 100644
--- a/solr/core/src/java/org/apache/solr/core/ConfigOverlay.java
+++ b/solr/core/src/java/org/apache/solr/core/ConfigOverlay.java
@@ -16,6 +16,7 @@
*/
package org.apache.solr.core;
+import java.util.ArrayList;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.LinkedList;
@@ -43,13 +44,13 @@ public class ConfigOverlay implements MapSerializable {
@SuppressWarnings({"unchecked"})
public ConfigOverlay(Map<String, Object> jsonObj, int znodeVersion) {
- if (jsonObj == null) jsonObj = Collections.EMPTY_MAP;
+ if (jsonObj == null) jsonObj = Collections.emptyMap();
this.znodeVersion = znodeVersion;
data = Collections.unmodifiableMap(jsonObj);
props = (Map<String, Object>) data.get("props");
- if (props == null) props = Collections.EMPTY_MAP;
+ if (props == null) props = Collections.emptyMap();
userProps = (Map<String, Object>) data.get("userProps");
- if (userProps == null) userProps = Collections.EMPTY_MAP;
+ if (userProps == null) userProps = Collections.emptyMap();
}
public Object getXPathProperty(String xpath) {
@@ -62,10 +63,14 @@ public class ConfigOverlay implements MapSerializable {
return Utils.getObjectByPath(props, onlyPrimitive, hierarchy);
}
- @SuppressWarnings({"unchecked"})
+ public Object getXPathProperty(List<String> path) {
+ List<String> hierarchy = new ArrayList<>();
+ if(isEditable(true, hierarchy, path) == null) return null;
+ return Utils.getObjectByPath(props, true, hierarchy);
+ }
+
public ConfigOverlay setUserProperty(String key, Object val) {
- @SuppressWarnings({"rawtypes"})
- Map copy = new LinkedHashMap(userProps);
+ Map<String, Object> copy = new LinkedHashMap<>(userProps);
copy.put(key, val);
Map<String, Object> jsonObj = new LinkedHashMap<>(this.data);
jsonObj.put("userProps", copy);
@@ -74,8 +79,7 @@ public class ConfigOverlay implements MapSerializable {
public ConfigOverlay unsetUserProperty(String key) {
if (!userProps.containsKey(key)) return this;
- @SuppressWarnings({"unchecked", "rawtypes"})
- Map copy = new LinkedHashMap(userProps);
+ Map<String, Object> copy = new LinkedHashMap<>(userProps);
copy.remove(key);
Map<String, Object> jsonObj = new LinkedHashMap<>(this.data);
jsonObj.put("userProps", copy);
@@ -178,9 +182,12 @@ public class ConfigOverlay implements MapSerializable {
}
- @SuppressWarnings({"rawtypes"})
- public static Class checkEditable(String path, boolean isXpath, List<String> hierarchy) {
+ public static Class<?> checkEditable(String path, boolean isXpath, List<String> hierarchy) {
List<String> parts = StrUtils.splitSmart(path, isXpath ? '/' : '.');
+ return isEditable(isXpath, hierarchy, StrUtils.splitSmart(path, isXpath ? '/' : '.'));
+ }
+
+ private static Class<?> isEditable(boolean isXpath, List<String> hierarchy, List<String> parts) {
Object obj = editable_prop_map;
for (int i = 0; i < parts.size(); i++) {
String part = parts.get(i);
@@ -191,23 +198,21 @@ public class ConfigOverlay implements MapSerializable {
if (hierarchy != null) hierarchy.add(part);
if (obj == null) return null;
if (i == parts.size() - 1) {
- if (obj instanceof Map) {
- Map map = (Map) obj;
+ if (obj instanceof Map<?,?>) {
+ Map<?,?> map = (Map<?,?>) obj;
Object o = map.get(part);
return checkType(o, isXpath, isAttr);
}
return null;
}
- obj = ((Map) obj).get(part);
+ obj = ((Map<?,?>) obj).get(part);
}
return null;
}
- @SuppressWarnings({"rawtypes"})
- static Class[] types = new Class[]{String.class, Boolean.class, Integer.class, Float.class};
+ static Class<?>[] types = new Class<?>[]{String.class, Boolean.class, Integer.class, Float.class};
- @SuppressWarnings({"rawtypes"})
- private static Class checkType(Object o, boolean isXpath, boolean isAttr) {
+ private static Class<?> checkType(Object o, boolean isXpath, boolean isAttr) {
if (o instanceof Long) {
Long aLong = (Long) o;
int ten = aLong.intValue() / 10;
@@ -240,27 +245,27 @@ public class ConfigOverlay implements MapSerializable {
return map;
}
- @SuppressWarnings({"unchecked", "rawtypes"})
- public Map<String, Map> getNamedPlugins(String typ) {
- Map<String, Map> reqHandlers = (Map<String, Map>) data.get(typ);
- if (reqHandlers == null) return Collections.EMPTY_MAP;
+ @SuppressWarnings({"unchecked"})
+ public Map<String, Map<String, Object>> getNamedPlugins(String typ) {
+ Map<String, Map<String, Object>> reqHandlers = (Map<String, Map<String, Object>>) data.get(typ);
+ if (reqHandlers == null) return Collections.emptyMap();
return Collections.unmodifiableMap(reqHandlers);
}
- @SuppressWarnings({"unchecked", "rawtypes"})
+ @SuppressWarnings({"unchecked"})
public ConfigOverlay addNamedPlugin(Map<String, Object> info, String typ) {
- Map dataCopy = Utils.getDeepCopy(data, 4);
- Map existing = (Map) dataCopy.get(typ);
- if (existing == null) dataCopy.put(typ, existing = new LinkedHashMap());
- existing.put(info.get(CoreAdminParams.NAME), info);
+ Map<String, Object> dataCopy = Utils.getDeepCopy(data, 4);
+ Map<String, Object> existing = (Map<String, Object>) dataCopy.get(typ);
+ if (existing == null) dataCopy.put(typ, existing = new LinkedHashMap<>());
+ existing.put(info.get(CoreAdminParams.NAME).toString(), info);
return new ConfigOverlay(dataCopy, this.znodeVersion);
}
- @SuppressWarnings({"unchecked", "rawtypes"})
+ @SuppressWarnings({"unchecked"})
public ConfigOverlay deleteNamedPlugin(String name, String typ) {
- Map dataCopy = Utils.getDeepCopy(data, 4);
- Map reqHandler = (Map) dataCopy.get(typ);
+ Map<String, Object> dataCopy = Utils.getDeepCopy(data, 4);
+ Map<?,?> reqHandler = (Map<?,?>) dataCopy.get(typ);
if (reqHandler == null) return this;
reqHandler.remove(name);
return new ConfigOverlay(dataCopy, this.znodeVersion);
diff --git a/solr/core/src/java/org/apache/solr/core/CoreContainer.java b/solr/core/src/java/org/apache/solr/core/CoreContainer.java
index 997cec9..9cfc4c5 100644
--- a/solr/core/src/java/org/apache/solr/core/CoreContainer.java
+++ b/solr/core/src/java/org/apache/solr/core/CoreContainer.java
@@ -470,7 +470,7 @@ public class CoreContainer {
}
- @SuppressWarnings({"unchecked", "rawtypes"})
+ @SuppressWarnings({"unchecked"})
private synchronized void initializeAuthenticationPlugin(Map<String, Object> authenticationConfig) {
authenticationConfig = Utils.getDeepCopy(authenticationConfig, 4);
int newVersion = readVersion(authenticationConfig);
@@ -507,7 +507,7 @@ public class CoreContainer {
getResourceLoader().newInstance(pluginClassName,
AuthenticationPlugin.class,
null,
- new Class[]{CoreContainer.class},
+ new Class<?>[]{CoreContainer.class},
new Object[]{this}));
}
if (authenticationPlugin != null) {
@@ -2000,9 +2000,8 @@ public class CoreContainer {
// ---------------- CoreContainer request handlers --------------
- @SuppressWarnings({"rawtypes"})
protected <T> T createHandler(String path, String handlerClass, Class<T> clazz) {
- T handler = loader.newInstance(handlerClass, clazz, null, new Class[]{CoreContainer.class}, new Object[]{this});
+ T handler = loader.newInstance(handlerClass, clazz, null, new Class<?>[]{CoreContainer.class}, new Object[]{this});
if (handler instanceof SolrRequestHandler) {
containerHandlers.put(path, (SolrRequestHandler) handler);
}
diff --git a/solr/core/src/java/org/apache/solr/core/PluginBag.java b/solr/core/src/java/org/apache/solr/core/PluginBag.java
index 427cd7e..8cf794a 100644
--- a/solr/core/src/java/org/apache/solr/core/PluginBag.java
+++ b/solr/core/src/java/org/apache/solr/core/PluginBag.java
@@ -59,8 +59,7 @@ public class PluginBag<T> implements AutoCloseable {
private final Map<String, PluginHolder<T>> registry;
private final Map<String, PluginHolder<T>> immutableRegistry;
private String def;
- @SuppressWarnings({"rawtypes"})
- private final Class klass;
+ private final Class<T> klass;
private SolrCore core;
private final SolrConfig.SolrPluginInfo meta;
private final ApiBag apiBag;
@@ -110,9 +109,8 @@ public class PluginBag<T> implements AutoCloseable {
/**
* Check if any of the mentioned names are missing. If yes, return the Set of missing names
*/
- @SuppressWarnings({"unchecked"})
public Set<String> checkContains(Collection<String> names) {
- if (names == null || names.isEmpty()) return Collections.EMPTY_SET;
+ if (names == null || names.isEmpty()) return Collections.emptySet();
HashSet<String> result = new HashSet<>();
for (String s : names) if (!this.registry.containsKey(s)) result.add(s);
return result;
diff --git a/solr/core/src/java/org/apache/solr/core/RequestParams.java b/solr/core/src/java/org/apache/solr/core/RequestParams.java
index 3aa6299..7094991 100644
--- a/solr/core/src/java/org/apache/solr/core/RequestParams.java
+++ b/solr/core/src/java/org/apache/solr/core/RequestParams.java
@@ -47,14 +47,13 @@ import static org.apache.solr.common.util.Utils.getDeepCopy;
public class RequestParams implements MapSerializable {
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
- @SuppressWarnings({"rawtypes"})
- private final Map data;
+ private final Map<String, Object> data;
private final Map<String, ParamSet> paramsets = new LinkedHashMap<>();
private final int znodeVersion;
- @SuppressWarnings({"rawtypes"})
- public RequestParams(Map data, int znodeVersion) {
- if (data == null) data = Collections.EMPTY_MAP;
+ @SuppressWarnings("rawtypes")
+ public RequestParams(Map<String, Object> data, int znodeVersion) {
+ if (data == null) data = Collections.emptyMap();
this.data = data;
Map paramsets = (Map) data.get(NAME);
if (paramsets != null) {
@@ -125,14 +124,12 @@ public class RequestParams implements MapSerializable {
}
@Override
- @SuppressWarnings({"unchecked"})
public Map<String, Object> toMap(Map<String, Object> map) {
return getMapWithVersion(data, znodeVersion);
}
- @SuppressWarnings({"unchecked", "rawtypes"})
public static Map<String, Object> getMapWithVersion(Map<String, Object> data, int znodeVersion) {
- Map result = new LinkedHashMap();
+ Map<String, Object> result = new LinkedHashMap<>();
result.put(ConfigOverlay.ZNODEVER, znodeVersion);
result.putAll(data);
return result;
@@ -157,10 +154,12 @@ public class RequestParams implements MapSerializable {
log.debug("latest version of {}/{} in ZK is : {}", resourceLoader.getConfigSetZkPath(), RequestParams.RESOURCE, stat == null ? "" : stat.getVersion());
}
if (stat == null) {
- requestParams = new RequestParams(Collections.EMPTY_MAP, -1);
+ requestParams = new RequestParams(Collections.emptyMap(), -1);
} else if (requestParams == null || stat.getVersion() > requestParams.getZnodeVersion()) {
Object[] o = getMapAndVersion(loader, RequestParams.RESOURCE);
- requestParams = new RequestParams((Map) o[0], (Integer) o[1]);
+ @SuppressWarnings("unchecked")
+ Map<String, Object> data = (Map<String, Object>) o[0];
+ requestParams = new RequestParams(data, (Integer) o[1]);
if (log.isInfoEnabled()) {
log.info("request params refreshed to version {}", requestParams.getZnodeVersion());
}
@@ -172,7 +171,9 @@ public class RequestParams implements MapSerializable {
} else {
Object[] o = getMapAndVersion(loader, RequestParams.RESOURCE);
- requestParams = new RequestParams((Map) o[0], (Integer) o[1]);
+ @SuppressWarnings("unchecked")
+ Map<String, Object> data = (Map<String, Object>) o[0];
+ requestParams = new RequestParams(data, (Integer) o[1]);
}
return requestParams;
@@ -197,7 +198,7 @@ public class RequestParams implements MapSerializable {
} catch (IOException e) {
//no problem no overlay.json file
- return new Object[]{Collections.EMPTY_MAP, -1};
+ return new Object[]{Collections.emptyMap(), -1};
}
}
diff --git a/solr/core/src/java/org/apache/solr/core/SolrConfig.java b/solr/core/src/java/org/apache/solr/core/SolrConfig.java
index 804ceab..7c670ec 100644
--- a/solr/core/src/java/org/apache/solr/core/SolrConfig.java
+++ b/solr/core/src/java/org/apache/solr/core/SolrConfig.java
@@ -56,6 +56,7 @@ import org.apache.solr.common.SolrException;
import org.apache.solr.common.SolrException.ErrorCode;
import org.apache.solr.common.util.DOMUtil;
import org.apache.solr.common.util.IOUtils;
+import org.apache.solr.common.util.Utils;
import org.apache.solr.handler.component.SearchComponent;
import org.apache.solr.pkg.PackageListeners;
import org.apache.solr.pkg.PackageLoader;
@@ -87,7 +88,6 @@ import org.xml.sax.SAXException;
import static org.apache.solr.common.params.CommonParams.NAME;
import static org.apache.solr.common.params.CommonParams.PATH;
import static org.apache.solr.common.util.Utils.fromJSON;
-import static org.apache.solr.common.util.Utils.makeMap;
import static org.apache.solr.core.ConfigOverlay.ZNODEVER;
import static org.apache.solr.core.SolrConfig.PluginOpts.LAZY;
import static org.apache.solr.core.SolrConfig.PluginOpts.MULTI_OK;
@@ -369,17 +369,15 @@ public class SolrConfig extends XmlConfigFile implements MapSerializable {
public static class SolrPluginInfo {
- @SuppressWarnings({"rawtypes"})
- public final Class clazz;
+ public final Class<?> clazz;
public final String tag;
public final Set<PluginOpts> options;
- @SuppressWarnings({"unchecked", "rawtypes"})
- private SolrPluginInfo(Class clz, String tag, PluginOpts... opts) {
+ private SolrPluginInfo(Class<?> clz, String tag, PluginOpts... opts) {
this.clazz = clz;
this.tag = tag;
- this.options = opts == null ? Collections.EMPTY_SET : EnumSet.of(NOOP, opts);
+ this.options = opts == null ? Collections.emptySet() : EnumSet.of(NOOP, opts);
}
public String getCleanTag() {
@@ -392,7 +390,6 @@ public class SolrConfig extends XmlConfigFile implements MapSerializable {
}
}
- @SuppressWarnings({"unchecked", "rawtypes"})
public static ConfigOverlay getConfigOverlay(SolrResourceLoader loader) {
InputStream in = null;
InputStreamReader isr = null;
@@ -403,7 +400,7 @@ public class SolrConfig extends XmlConfigFile implements MapSerializable {
// TODO: we should be explicitly looking for file not found exceptions
// and logging if it's not the expected IOException
// hopefully no problem, assume no overlay.json file
- return new ConfigOverlay(Collections.EMPTY_MAP, -1);
+ return new ConfigOverlay(Collections.emptyMap(), -1);
}
int version = 0; // will be always 0 for file based resourceLoader
@@ -411,7 +408,8 @@ public class SolrConfig extends XmlConfigFile implements MapSerializable {
version = ((ZkSolrResourceLoader.ZkByteArrayInputStream) in).getStat().getVersion();
log.debug("Config overlay loaded. version : {} ", version);
}
- Map m = (Map) fromJSON(in);
+ @SuppressWarnings("unchecked")
+ Map<String, Object> m = (Map<String, Object>) fromJSON(in);
return new ConfigOverlay(m, version);
} catch (Exception e) {
throw new SolrException(ErrorCode.SERVER_ERROR, "Error reading config overlay", e);
@@ -548,18 +546,19 @@ public class SolrConfig extends XmlConfigFile implements MapSerializable {
/**
* config xpath prefix for getting HTTP Caching options
*/
- private final static String CACHE_PRE
+ private static final String CACHE_PRE
= "requestDispatcher/httpCaching/";
/**
* For extracting Expires "ttl" from <cacheControl> config
*/
- private final static Pattern MAX_AGE
+ private static final Pattern MAX_AGE
= Pattern.compile("\\bmax-age=(\\d+)");
@Override
public Map<String, Object> toMap(Map<String, Object> map) {
- return makeMap("never304", never304,
+ // Could have nulls
+ return Utils.makeMap("never304", never304,
"etagSeed", etagSeed,
"lastModFrom", lastModFrom.name().toLowerCase(Locale.ROOT),
"cacheControl", cacheControlHeader);
@@ -674,20 +673,18 @@ public class SolrConfig extends XmlConfigFile implements MapSerializable {
@Override
- @SuppressWarnings({"unchecked", "rawtypes"})
public Map<String, Object> toMap(Map<String, Object> map) {
- LinkedHashMap result = new LinkedHashMap();
- result.put("indexWriter", makeMap("closeWaitsForMerges", indexWriterCloseWaitsForMerges));
- result.put("commitWithin", makeMap("softCommit", commitWithinSoftCommit));
- result.put("autoCommit", makeMap(
+ map.put("indexWriter", Map.of("closeWaitsForMerges", indexWriterCloseWaitsForMerges));
+ map.put("commitWithin", Map.of("softCommit", commitWithinSoftCommit));
+ map.put("autoCommit", Map.of(
"maxDocs", autoCommmitMaxDocs,
"maxTime", autoCommmitMaxTime,
"openSearcher", openSearcher
));
- result.put("autoSoftCommit",
- makeMap("maxDocs", autoSoftCommmitMaxDocs,
+ map.put("autoSoftCommit",
+ Map.of("maxDocs", autoSoftCommmitMaxDocs,
"maxTime", autoSoftCommmitMaxTime));
- return result;
+ return map;
}
}
@@ -709,13 +706,12 @@ public class SolrConfig extends XmlConfigFile implements MapSerializable {
* SearchComponent, QueryConverter, SolrEventListener, DirectoryFactory,
* IndexDeletionPolicy, IndexReaderFactory, {@link TransformerFactory}
*/
- @SuppressWarnings({"unchecked", "rawtypes"})
public List<PluginInfo> getPluginInfos(String type) {
List<PluginInfo> result = pluginStore.get(type);
SolrPluginInfo info = classVsSolrPluginInfo.get(type);
if (info != null &&
(info.options.contains(REQUIRE_NAME) || info.options.contains(REQUIRE_NAME_IN_OVERLAY))) {
- Map<String, Map> infos = overlay.getNamedPlugins(info.getCleanTag());
+ Map<String, Map<String, Object>> infos = overlay.getNamedPlugins(info.getCleanTag());
if (!infos.isEmpty()) {
LinkedHashMap<String, PluginInfo> map = new LinkedHashMap<>();
if (result != null) for (PluginInfo pluginInfo : result) {
@@ -725,13 +721,13 @@ public class SolrConfig extends XmlConfigFile implements MapSerializable {
pluginInfo.name;
map.put(name, pluginInfo);
}
- for (Map.Entry<String, Map> e : infos.entrySet()) {
+ for (Map.Entry<String, Map<String, Object>> e : infos.entrySet()) {
map.put(e.getKey(), new PluginInfo(info.getCleanTag(), e.getValue()));
}
result = new ArrayList<>(map.values());
}
}
- return result == null ? Collections.<PluginInfo>emptyList() : result;
+ return result == null ? Collections.emptyList() : result;
}
public PluginInfo getPluginInfo(String type) {
@@ -910,7 +906,7 @@ public class SolrConfig extends XmlConfigFile implements MapSerializable {
result.put("requestDispatcher", m);
m.put("handleSelect", handleSelect);
if (httpCachingConfig != null) m.put("httpCaching", httpCachingConfig);
- m.put("requestParsers", makeMap("multipartUploadLimitKB", multipartUploadLimitKB,
+ m.put("requestParsers", Map.of("multipartUploadLimitKB", multipartUploadLimitKB,
"formUploadLimitKB", formUploadLimitKB,
"addHttpRequestToContext", addHttpRequestToContext));
if (indexConfig != null) result.put("indexConfig", indexConfig);
diff --git a/solr/core/src/java/org/apache/solr/core/SolrCore.java b/solr/core/src/java/org/apache/solr/core/SolrCore.java
index 2f88067..7df1c2d 100644
--- a/solr/core/src/java/org/apache/solr/core/SolrCore.java
+++ b/solr/core/src/java/org/apache/solr/core/SolrCore.java
@@ -1918,7 +1918,6 @@ public final class SolrCore implements SolrInfoBean, Closeable {
* Warning: although a lambda is concise, it may be inappropriate to simply return the IndexReader because it might
* be closed soon after this method returns; it really depends.
*/
- @SuppressWarnings("unchecked")
public <R> R withSearcher(IOFunction<SolrIndexSearcher, R> lambda) throws IOException {
final RefCounted<SolrIndexSearcher> refCounted = getSearcher();
try {
@@ -2873,7 +2872,7 @@ public final class SolrCore implements SolrInfoBean, Closeable {
return def;
}
- public void initDefaultPlugin(Object plugin, @SuppressWarnings({"rawtypes"})Class type) {
+ public void initDefaultPlugin(Object plugin, Class<?> type) {
if (plugin instanceof SolrMetricProducer) {
coreMetricManager.registerMetricProducer(type.getSimpleName() + ".default", (SolrMetricProducer) plugin);
}
@@ -3231,8 +3230,7 @@ public final class SolrCore implements SolrInfoBean, Closeable {
throw new IllegalArgumentException("invalid key format, must end in /N where N is the version number");
}
// define the blob
- @SuppressWarnings({"rawtypes"})
- BlobRepository.BlobContentRef blobRef = coreContainer.getBlobRepository().getBlobIncRef(key, decoder);
+ BlobRepository.BlobContentRef<Object> blobRef = coreContainer.getBlobRepository().getBlobIncRef(key, decoder);
addCloseHook(new CloseHook() {
@Override
public void preClose(SolrCore core) {
diff --git a/solr/core/src/java/org/apache/solr/core/SolrResourceLoader.java b/solr/core/src/java/org/apache/solr/core/SolrResourceLoader.java
index b779a1c..83e15a2 100644
--- a/solr/core/src/java/org/apache/solr/core/SolrResourceLoader.java
+++ b/solr/core/src/java/org/apache/solr/core/SolrResourceLoader.java
@@ -38,6 +38,7 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.Set;
import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Function;
@@ -542,15 +543,14 @@ public class SolrResourceLoader implements ResourceLoader, Closeable, SolrClassL
}
}
- private <T> Class<? extends T> getPackageClass(String cname, Class<T> expectedType) {
+ private <T> Class<? extends T> getPackageClass(String cname, Class<T> expectedType) {
PluginInfo.ClassName cName = PluginInfo.parseClassName(cname);
if (cName.pkg == null) return null;
ResourceLoaderAware aware = CURRENT_AWARE.get();
if (aware != null) {
//this is invoked from a component
//let's check if it's a schema component
- @SuppressWarnings("rawtypes")
- Class type = assertAwareCompatibility(ResourceLoaderAware.class, aware);
+ Class<?> type = assertAwareCompatibility(ResourceLoaderAware.class, aware);
if (schemaResourceLoaderComponents.contains(type)) {
//this is a schema component
//lets use schema classloader
@@ -567,16 +567,15 @@ public class SolrResourceLoader implements ResourceLoader, Closeable, SolrClassL
return newInstance(name, expectedType, empty);
}
- @SuppressWarnings({"rawtypes"})
- private static final Class[] NO_CLASSES = new Class[0];
+ private static final Class<?>[] NO_CLASSES = new Class<?>[0];
private static final Object[] NO_OBJECTS = new Object[0];
public <T> T newInstance(String cname, Class<T> expectedType, String... subpackages) {
return newInstance(cname, expectedType, subpackages, NO_CLASSES, NO_OBJECTS);
}
- @SuppressWarnings({"rawtypes"})
- public <T> T newInstance(String cName, Class<T> expectedType, String[] subPackages, Class[] params, Object[] args) {
+ @Override
+ public <T> T newInstance(String cName, Class<T> expectedType, String[] subPackages, Class<?>[] params, Object[] args) {
Class<? extends T> clazz = findClass(cName, expectedType, subPackages);
if (clazz == null) {
throw new SolrException(SolrException.ErrorCode.SERVER_ERROR,
@@ -771,8 +770,7 @@ public class SolrResourceLoader implements ResourceLoader, Closeable, SolrClassL
/**
* Keep a list of classes that are allowed to implement each 'Aware' interface
*/
- @SuppressWarnings({"rawtypes"})
- private static final Map<Class, Class[]> awareCompatibility;
+ private static final Map<Class<?>, Class<?>[]> awareCompatibility;
static {
awareCompatibility = new HashMap<>();
@@ -809,8 +807,7 @@ public class SolrResourceLoader implements ResourceLoader, Closeable, SolrClassL
/**If these components are trying to load classes, use schema classloader
*
*/
- @SuppressWarnings("rawtypes")
- private static final ImmutableSet<Class> schemaResourceLoaderComponents = ImmutableSet.of(
+ private static final Set<Class<?>> schemaResourceLoaderComponents = ImmutableSet.of(
CharFilterFactory.class,
TokenFilterFactory.class,
TokenizerFactory.class,
@@ -819,14 +816,13 @@ public class SolrResourceLoader implements ResourceLoader, Closeable, SolrClassL
/**
* Utility function to throw an exception if the class is invalid
*/
- @SuppressWarnings({"rawtypes"})
- public static Class assertAwareCompatibility(Class aware, Object obj) {
- Class[] valid = awareCompatibility.get(aware);
+ public static Class<?> assertAwareCompatibility(Class<?> aware, Object obj) {
+ Class<?>[] valid = awareCompatibility.get(aware);
if (valid == null) {
throw new SolrException(SolrException.ErrorCode.SERVER_ERROR,
"Unknown Aware interface: " + aware);
}
- for (Class v : valid) {
+ for (Class<?> v : valid) {
if (v.isInstance(obj)) {
return v;
}
@@ -835,7 +831,7 @@ public class SolrResourceLoader implements ResourceLoader, Closeable, SolrClassL
builder.append("Invalid 'Aware' object: ").append(obj);
builder.append(" -- ").append(aware.getName());
builder.append(" must be an instance of: ");
- for (Class v : valid) {
+ for (Class<?> v : valid) {
builder.append("[").append(v.getName()).append("] ");
}
throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, builder.toString());
diff --git a/solr/core/src/java/org/apache/solr/core/TracerConfigurator.java b/solr/core/src/java/org/apache/solr/core/TracerConfigurator.java
index 9192044..5db59b3 100644
--- a/solr/core/src/java/org/apache/solr/core/TracerConfigurator.java
+++ b/solr/core/src/java/org/apache/solr/core/TracerConfigurator.java
@@ -90,7 +90,7 @@ public abstract class TracerConfigurator implements NamedListInitializedPlugin {
}
}
- @SuppressWarnings({"rawtypes", "unchecked"})
+ @SuppressWarnings({"rawtypes"})
@Override
public void clean(AtomicReference ctx) {
Scope scope = (Scope) ctx.get();
diff --git a/solr/core/src/java/org/apache/solr/handler/BlobHandler.java b/solr/core/src/java/org/apache/solr/handler/BlobHandler.java
index 829aa28..ade5973 100644
--- a/solr/core/src/java/org/apache/solr/handler/BlobHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/BlobHandler.java
@@ -71,7 +71,6 @@ import static org.apache.solr.common.params.CommonParams.ID;
import static org.apache.solr.common.params.CommonParams.JSON;
import static org.apache.solr.common.params.CommonParams.SORT;
import static org.apache.solr.common.params.CommonParams.VERSION;
-import static org.apache.solr.common.util.Utils.makeMap;
public class BlobHandler extends RequestHandlerBase implements PluginInfoInitialized , PermissionNameProvider {
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
@@ -80,7 +79,6 @@ public class BlobHandler extends RequestHandlerBase implements PluginInfoInitial
private long maxSize = DEFAULT_MAX_SIZE;
@Override
- @SuppressWarnings({"unchecked"})
public void handleRequestBody(final SolrQueryRequest req, SolrQueryResponse rsp) throws Exception {
String httpMethod = req.getHttpMethod();
String path = (String) req.getContext().get("path");
@@ -121,7 +119,7 @@ public class BlobHandler extends RequestHandlerBase implements PluginInfoInitial
if (duplicateCount > 0) {
rsp.add("error", "duplicate entry");
forward(req, null,
- new MapSolrParams((Map) makeMap(
+ new MapSolrParams(Map.of(
"q", "md5:" + md5,
"fl", "id,size,version,timestamp,blobName")),
rsp);
@@ -140,7 +138,7 @@ public class BlobHandler extends RequestHandlerBase implements PluginInfoInitial
}
version++;
String id = blobName + "/" + version;
- Map<String, Object> doc = makeMap(
+ Map<String, Object> doc = Map.of(
ID, id,
CommonParams.TYPE, "blob",
"md5", md5,
@@ -214,7 +212,7 @@ public class BlobHandler extends RequestHandlerBase implements PluginInfoInitial
}
forward(req, null,
- new MapSolrParams((Map) makeMap(
+ new MapSolrParams(Map.of(
"q", StrUtils.formatString(q, blobName, version),
"fl", "id,size,version,timestamp,blobName,md5",
SORT, "version desc"))
diff --git a/solr/core/src/java/org/apache/solr/handler/ClusterAPI.java b/solr/core/src/java/org/apache/solr/handler/ClusterAPI.java
index 09fb2a3..334dbde 100644
--- a/solr/core/src/java/org/apache/solr/handler/ClusterAPI.java
+++ b/solr/core/src/java/org/apache/solr/handler/ClusterAPI.java
@@ -161,23 +161,20 @@ public class ClusterAPI {
if (path == null || path.isBlank()) {
throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, "In order to insert a file in a configSet, a filePath must be provided in the url after the name of the configSet.");
}
- req = wrapParams(req,
- "action", ConfigSetParams.ConfigSetAction.UPLOAD.toString(),
+ req = wrapParams(req, Map.of("action", ConfigSetParams.ConfigSetAction.UPLOAD.toString(),
CommonParams.NAME, req.getPathTemplateValues().get("name"),
ConfigSetParams.FILE_PATH, path,
ConfigSetParams.OVERWRITE, true,
- ConfigSetParams.CLEANUP, false);
+ ConfigSetParams.CLEANUP, false));
configSetsHandler.handleRequestBody(req, rsp);
}
- @SuppressWarnings({"rawtypes"})
public static SolrQueryRequest wrapParams(SolrQueryRequest req, Object... def) {
- Map m = Utils.makeMap(def);
+ Map<String, Object> m = Utils.makeMap(def);
return wrapParams(req, m);
}
- @SuppressWarnings({"unchecked", "rawtypes"})
- public static SolrQueryRequest wrapParams(SolrQueryRequest req, Map m) {
+ public static SolrQueryRequest wrapParams(SolrQueryRequest req, Map<String, Object> m) {
ModifiableSolrParams solrParams = new ModifiableSolrParams();
m.forEach((k, v) -> {
if(v == null) return;
diff --git a/solr/core/src/java/org/apache/solr/handler/CollectionBackupsAPI.java b/solr/core/src/java/org/apache/solr/handler/CollectionBackupsAPI.java
index d3bb4cc..ee104bd 100644
--- a/solr/core/src/java/org/apache/solr/handler/CollectionBackupsAPI.java
+++ b/solr/core/src/java/org/apache/solr/handler/CollectionBackupsAPI.java
@@ -51,7 +51,6 @@ public class CollectionBackupsAPI {
}
@Command(name = LIST_BACKUP_CMD)
- @SuppressWarnings("unchecked")
public void listBackups(PayloadObj<ListBackupPayload> obj) throws Exception {
final Map<String, Object> v1Params = obj.get().toMap(new HashMap<>());
v1Params.put(ACTION, CollectionParams.CollectionAction.LISTBACKUP.toLower());
@@ -60,7 +59,6 @@ public class CollectionBackupsAPI {
}
@Command(name = DELETE_BACKUP_CMD)
- @SuppressWarnings("unchecked")
public void deleteBackups(PayloadObj<DeleteBackupPayload> obj) throws Exception {
final Map<String, Object> v1Params = obj.get().toMap(new HashMap<>());
v1Params.put(ACTION, CollectionParams.CollectionAction.DELETEBACKUP.toLower());
diff --git a/solr/core/src/java/org/apache/solr/handler/CollectionsAPI.java b/solr/core/src/java/org/apache/solr/handler/CollectionsAPI.java
index df45b4a..8a82c59 100644
--- a/solr/core/src/java/org/apache/solr/handler/CollectionsAPI.java
+++ b/solr/core/src/java/org/apache/solr/handler/CollectionsAPI.java
@@ -87,7 +87,6 @@ public class CollectionsAPI {
public class CollectionsCommands {
@Command(name = V2_BACKUP_CMD)
- @SuppressWarnings("unchecked")
public void backupCollection(PayloadObj<BackupCollectionPayload> obj) throws Exception {
final Map<String, Object> v1Params = obj.get().toMap(new HashMap<>());
v1Params.put(ACTION, CollectionAction.BACKUP.toLower());
@@ -151,7 +150,6 @@ public class CollectionsAPI {
}
@Command(name= V2_DELETE_ALIAS_CMD)
- @SuppressWarnings("unchecked")
public void deleteAlias(PayloadObj<DeleteAliasPayload> obj) throws Exception {
final DeleteAliasPayload v2Body = obj.get();
final Map<String, Object> v1Params = v2Body.toMap(new HashMap<>());
@@ -161,7 +159,6 @@ public class CollectionsAPI {
}
@Command(name = V2_CREATE_COLLECTION_CMD)
- @SuppressWarnings("unchecked")
public void create(PayloadObj<CreatePayload> obj) throws Exception {
final CreatePayload v2Body = obj.get();
final Map<String, Object> v1Params = v2Body.toMap(new HashMap<>());
diff --git a/solr/core/src/java/org/apache/solr/handler/ExportHandler.java b/solr/core/src/java/org/apache/solr/handler/ExportHandler.java
index 93776c0..81288d2 100644
--- a/solr/core/src/java/org/apache/solr/handler/ExportHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/ExportHandler.java
@@ -48,8 +48,7 @@ public class ExportHandler extends SearchHandler {
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
private ModelCache modelCache = null;
- @SuppressWarnings({"rawtypes"})
- private ConcurrentMap objectCache = new ConcurrentHashMap();
+ private ConcurrentMap<String,Object> objectCache = new ConcurrentHashMap<>();
private SolrDefaultStreamFactory streamFactory = new ExportHandlerStreamFactory();
private String coreName;
private SolrClientCache solrClientCache;
diff --git a/solr/core/src/java/org/apache/solr/handler/GraphHandler.java b/solr/core/src/java/org/apache/solr/handler/GraphHandler.java
index 5c159e7..87a1633 100644
--- a/solr/core/src/java/org/apache/solr/handler/GraphHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/GraphHandler.java
@@ -91,7 +91,6 @@ public class GraphHandler extends RequestHandlerBase implements SolrCoreAware, P
return PermissionNameProvider.Name.READ_PERM;
}
- @SuppressWarnings({"unchecked"})
public void inform(SolrCore core) {
String defaultCollection;
String defaultZkhost;
@@ -125,7 +124,7 @@ public class GraphHandler extends RequestHandlerBase implements SolrCoreAware, P
} else {
@SuppressWarnings("resource")
StreamHandler.ExpressibleHolder holder = new StreamHandler.ExpressibleHolder(pluginInfo, core, SolrConfig.classVsSolrPluginInfo.get(Expressible.class.getName()));
- streamFactory.withFunctionName(key, () -> holder.getClazz());
+ streamFactory.withFunctionName(key, holder);
}
}
@@ -254,7 +253,6 @@ public class GraphHandler extends RequestHandlerBase implements SolrCoreAware, P
return null;
}
- @SuppressWarnings({"unchecked"})
public Tuple read() throws IOException {
Tuple tuple = this.tupleStream.read();
if(tuple.EOF) {
diff --git a/solr/core/src/java/org/apache/solr/handler/IndexFetcher.java b/solr/core/src/java/org/apache/solr/handler/IndexFetcher.java
index de563ed..2d202f0 100644
--- a/solr/core/src/java/org/apache/solr/handler/IndexFetcher.java
+++ b/solr/core/src/java/org/apache/solr/handler/IndexFetcher.java
@@ -299,7 +299,7 @@ public class IndexFetcher {
/**
* Gets the latest commit version and generation from the leader
*/
- @SuppressWarnings({"unchecked", "rawtypes"})
+ @SuppressWarnings({"rawtypes"})
NamedList getLatestVersion() throws IOException {
ModifiableSolrParams params = new ModifiableSolrParams();
params.set(COMMAND, CMD_INDEX_VERSION);
@@ -1411,7 +1411,6 @@ public class IndexFetcher {
if (confFilesToDownload == null || confFilesToDownload.isEmpty())
return Collections.emptyList();
//build a map with alias/name as the key
- @SuppressWarnings({"rawtypes"})
Map<String, Map<String, Object>> nameVsFile = new HashMap<>();
@SuppressWarnings({"rawtypes"})
NamedList names = new NamedList();
@@ -1490,7 +1489,6 @@ public class IndexFetcher {
return timeElapsed;
}
- @SuppressWarnings({"unchecked"})
List<Map<String, Object>> getConfFilesToDownload() {
//make a copy first because it can be null later
List<Map<String, Object>> tmp = confFilesToDownload;
diff --git a/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java b/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java
index 4572be1..f4649c2 100644
--- a/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/ReplicationHandler.java
@@ -1099,14 +1099,14 @@ public class ReplicationHandler extends RequestHandlerBase implements SolrCoreAw
addVal(consumer, IndexFetcher.CLEARED_LOCAL_IDX, props, Boolean.class);
}
- private void addVal(BiConsumer<String, Object> consumer, String key, Properties props, @SuppressWarnings({"rawtypes"})Class clzz) {
+ private void addVal(BiConsumer<String, Object> consumer, String key, Properties props, Class<?> clzz) {
Object val = formatVal(key, props, clzz);
if (val != null) {
consumer.accept(key, val);
}
}
- private Object formatVal(String key, Properties props, @SuppressWarnings({"rawtypes"})Class clzz) {
+ private Object formatVal(String key, Properties props, Class<?> clzz) {
String s = props.getProperty(key);
if (s == null || s.trim().length() == 0) return null;
if (clzz == Date.class) {
diff --git a/solr/core/src/java/org/apache/solr/handler/SchemaHandler.java b/solr/core/src/java/org/apache/solr/handler/SchemaHandler.java
index 5a8f9d2..ffaeb2d 100644
--- a/solr/core/src/java/org/apache/solr/handler/SchemaHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/SchemaHandler.java
@@ -18,7 +18,12 @@ package org.apache.solr.handler;
import java.io.IOException;
import java.lang.invoke.MethodHandles;
-import java.util.*;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
import java.util.function.BiConsumer;
import org.apache.solr.api.Api;
@@ -32,7 +37,6 @@ import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.SimpleOrderedMap;
import org.apache.solr.common.util.StrUtils;
-import org.apache.solr.common.util.Utils;
import org.apache.solr.core.PluginInfo;
import org.apache.solr.core.SolrCore;
import org.apache.solr.pkg.PackageListeningClassLoader;
@@ -63,20 +67,14 @@ public class SchemaHandler extends RequestHandlerBase implements SolrCoreAware,
private boolean isImmutableConfigSet = false;
private SolrRequestHandler managedResourceRequestHandler;
- private static final Map<String, String> level2;
-
+ // java.util factory collections do not accept null values, so we roll our own
+ private static final Map<String, String> level2 = new HashMap<>();
static {
- @SuppressWarnings({"rawtypes"})
- Map s = Utils.makeMap(
- FIELD_TYPES.nameLower, null,
- FIELDS.nameLower, "fl",
- DYNAMIC_FIELDS.nameLower, "fl",
- COPY_FIELDS.nameLower, null
- );
-
- level2 = Collections.unmodifiableMap(s);
- }
-
+ level2.put(FIELD_TYPES.nameLower, null);
+ level2.put(FIELDS.nameLower, "fl");
+ level2.put(DYNAMIC_FIELDS.nameLower, "fl");
+ level2.put(COPY_FIELDS.nameLower, null);
+ };
@Override
public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp) throws Exception {
@@ -167,7 +165,7 @@ public class SchemaHandler extends RequestHandlerBase implements SolrCoreAware,
String realName = parts.get(1);
String fieldName = IndexSchema.nameMapping.get(realName);
- String pathParam = level2.get(realName);
+ String pathParam = level2.get(realName); // Might be null
if (parts.size() > 2) {
req.setParams(SolrParams.wrapDefaults(new MapSolrParams(singletonMap(pathParam, parts.get(2))), req.getParams()));
}
@@ -242,7 +240,7 @@ public class SchemaHandler extends RequestHandlerBase implements SolrCoreAware,
}
- private static Set<String> subPaths = new HashSet<>(Arrays.asList(
+ private static final Set<String> subPaths = new HashSet<>(Set.of(
"version",
"uniquekey",
"name",
diff --git a/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java b/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java
index db8ec17..e5f44e3 100644
--- a/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/SolrConfigHandler.java
@@ -89,7 +89,6 @@ import static com.google.common.base.Strings.isNullOrEmpty;
import static java.util.Collections.singletonList;
import static org.apache.solr.common.params.CoreAdminParams.NAME;
import static org.apache.solr.common.util.StrUtils.formatString;
-import static org.apache.solr.common.util.Utils.makeMap;
import static org.apache.solr.core.ConfigOverlay.NOT_EDITABLE;
import static org.apache.solr.core.ConfigOverlay.ZNODEVER;
import static org.apache.solr.core.ConfigSetProperties.IMMUTABLE_CONFIGSET_ARG;
@@ -192,11 +191,10 @@ public class SolrConfigHandler extends RequestHandlerBase implements SolrCoreAwa
if (parts.size() == 3) {
RequestParams params = req.getCore().getSolrConfig().getRequestParams();
RequestParams.ParamSet p = params.getParams(parts.get(2));
- @SuppressWarnings({"rawtypes"})
- Map m = new LinkedHashMap<>();
+ Map<String, Object> m = new LinkedHashMap<>();
m.put(ZNODEVER, params.getZnodeVersion());
if (p != null) {
- m.put(RequestParams.NAME, makeMap(parts.get(2), p.toMap(new LinkedHashMap<>())));
+ m.put(RequestParams.NAME, Map.of(parts.get(2), p.toMap(new LinkedHashMap<>())));
}
resp.add(SolrQueryResponse.NAME, m);
} else {
@@ -205,7 +203,7 @@ public class SolrConfigHandler extends RequestHandlerBase implements SolrCoreAwa
} else {
if (ZNODEVER.equals(parts.get(1))) {
- resp.add(ZNODEVER, Utils.makeMap(
+ resp.add(ZNODEVER, Map.of(
ConfigOverlay.NAME, req.getCore().getSolrConfig().getOverlay().getZnodeVersion(),
RequestParams.NAME, req.getCore().getSolrConfig().getRequestParams().getZnodeVersion()));
boolean isStale = false;
@@ -248,19 +246,19 @@ public class SolrConfigHandler extends RequestHandlerBase implements SolrCoreAwa
} else {
Map<String, Object> m = getConfigDetails(parts.get(1), req);
- Map<String, Object> val = makeMap(parts.get(1), m.get(parts.get(1)));
+ Map<String, Object> val = new LinkedHashMap<>();
+ val.put(parts.get(1), m.get(parts.get(1)));
String componentName = req.getParams().get("componentName");
if (componentName != null) {
@SuppressWarnings({"rawtypes"})
Map pluginNameVsPluginInfo = (Map) val.get(parts.get(1));
if (pluginNameVsPluginInfo != null) {
- @SuppressWarnings({"rawtypes"})
Object o = pluginNameVsPluginInfo instanceof MapSerializable ?
pluginNameVsPluginInfo:
pluginNameVsPluginInfo.get(componentName);
@SuppressWarnings({"rawtypes"})
Map pluginInfo = o instanceof MapSerializable? ((MapSerializable) o).toMap(new LinkedHashMap<>()): (Map) o;
- val.put(parts.get(1),pluginNameVsPluginInfo instanceof PluginInfo? pluginInfo : makeMap(componentName, pluginInfo));
+ val.put(parts.get(1), pluginNameVsPluginInfo instanceof PluginInfo? pluginInfo : Map.of(componentName, pluginInfo));
if (req.getParams().getBool("meta", false)) {
// meta=true is asking for the package info of the plugin
// We go through all the listeners and see if there is one registered for this plugin
@@ -324,7 +322,6 @@ public class SolrConfigHandler extends RequestHandlerBase implements SolrCoreAwa
} else if (plugin instanceof PluginInfo) {
pluginInfo = ((PluginInfo) plugin).toMap(new LinkedHashMap<>());
}
- @SuppressWarnings({"rawtypes"})
String useParams = (String) pluginInfo.get(USEPARAM);
String useParamsInReq = req.getOriginalParams().get(USEPARAM);
if (useParams != null || useParamsInReq != null) {
@@ -600,8 +597,7 @@ public class SolrConfigHandler extends RequestHandlerBase implements SolrCoreAwa
return overlay.getNamedPlugins(info.getCleanTag()).containsKey(name);
}
- @SuppressWarnings({"unchecked"})
- private boolean verifyClass(CommandOperation op, String clz, @SuppressWarnings({"rawtypes"})Class expected) {
+ private boolean verifyClass(CommandOperation op, String clz, Class<?> expected) {
if (clz == null) return true;
PluginInfo info = new PluginInfo(SolrRequestHandler.TYPE, op.getDataMap());
try {
@@ -668,8 +664,7 @@ public class SolrConfigHandler extends RequestHandlerBase implements SolrCoreAwa
for (Map.Entry<String, Object> e : m.entrySet()) {
String name = e.getKey();
Object val = e.getValue();
- @SuppressWarnings({"rawtypes"})
- Class typ = ConfigOverlay.checkEditable(name, false, null);
+ Class<?> typ = ConfigOverlay.checkEditable(name, false, null);
if (typ == null) {
op.addError(formatString(NOT_EDITABLE, name));
continue;
diff --git a/solr/core/src/java/org/apache/solr/handler/StreamHandler.java b/solr/core/src/java/org/apache/solr/handler/StreamHandler.java
index 5b9cb27..bca1aa6 100644
--- a/solr/core/src/java/org/apache/solr/handler/StreamHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/StreamHandler.java
@@ -89,21 +89,19 @@ import static org.apache.solr.common.params.CommonParams.ID;
public class StreamHandler extends RequestHandlerBase implements SolrCoreAware, PermissionNameProvider {
private ModelCache modelCache;
- @SuppressWarnings({"rawtypes"})
- private ConcurrentMap objectCache;
+ private ConcurrentMap<String, Object> objectCache;
private SolrDefaultStreamFactory streamFactory = new SolrDefaultStreamFactory();
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
private String coreName;
private SolrClientCache solrClientCache;
- @SuppressWarnings({"unchecked", "rawtypes"})
- private Map<String, DaemonStream> daemons = Collections.synchronizedMap(new HashMap());
+ private Map<String, DaemonStream> daemons = Collections.synchronizedMap(new HashMap<>());
@Override
public PermissionNameProvider.Name getPermissionName(AuthorizationContext request) {
return PermissionNameProvider.Name.READ_PERM;
}
- @SuppressWarnings({"rawtypes"})
+ @SuppressWarnings("unchecked")
public void inform(SolrCore core) {
String defaultCollection;
String defaultZkhost;
@@ -112,7 +110,7 @@ public class StreamHandler extends RequestHandlerBase implements SolrCoreAware,
this.coreName = core.getName();
String cacheKey = this.getClass().getName() + "_" + coreName + "_";
this.objectCache = coreContainer.getObjectCache().computeIfAbsent(cacheKey + "objectCache",
- ConcurrentHashMap.class, k-> new ConcurrentHashMap());
+ ConcurrentHashMap.class, k-> new ConcurrentHashMap<>());
if (coreContainer.isZooKeeperAware()) {
defaultCollection = core.getCoreDescriptor().getCollectionName();
defaultZkhost = core.getCoreContainer().getZkController().getZkServerAddress();
@@ -128,15 +126,13 @@ public class StreamHandler extends RequestHandlerBase implements SolrCoreAware,
addExpressiblePlugins(streamFactory, core);
}
- @SuppressWarnings({"unchecked"})
public static void addExpressiblePlugins(StreamFactory streamFactory, SolrCore core) {
List<PluginInfo> pluginInfos = core.getSolrConfig().getPluginInfos(Expressible.class.getName());
for (PluginInfo pluginInfo : pluginInfos) {
if (pluginInfo.pkgName != null) {
@SuppressWarnings("resource")
ExpressibleHolder holder = new ExpressibleHolder(pluginInfo, core, SolrConfig.classVsSolrPluginInfo.get(Expressible.class.getName()));
- streamFactory.withFunctionName(pluginInfo.name,
- () -> holder.getClazz());
+ streamFactory.withFunctionName(pluginInfo.name, holder);
} else {
Class<? extends Expressible> clazz = core.getResourceLoader().findClass(pluginInfo.className, Expressible.class);
streamFactory.withFunctionName(pluginInfo.name, clazz);
@@ -144,24 +140,23 @@ public class StreamHandler extends RequestHandlerBase implements SolrCoreAware,
}
}
- @SuppressWarnings({"rawtypes"})
- public static class ExpressibleHolder extends PackagePluginHolder {
- private Class clazz;
+ public static class ExpressibleHolder extends PackagePluginHolder<Class<? extends Expressible>> {
+ private Class<? extends Expressible> clazz;
public ExpressibleHolder(PluginInfo info, SolrCore core, SolrConfig.SolrPluginInfo pluginMeta) {
super(info, core, pluginMeta);
}
- @SuppressWarnings({"rawtypes"})
- public Class getClazz() {
+ @Override
+ public Class<? extends Expressible> get() {
return clazz;
}
@Override
protected Object initNewInstance(PackageLoader.Package.Version newest, SolrCore core) {
+ // This is called from super constructor, so be careful that pluginInfo.className is done initializing.
return clazz = newest.getLoader().findClass(pluginInfo.className, Expressible.class);
}
-
}
public void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp) throws Exception {
@@ -485,7 +480,6 @@ public class StreamHandler extends RequestHandlerBase implements SolrCoreAware,
.withExpression("--non-expressible--");
}
- @SuppressWarnings({"unchecked"})
public Tuple read() throws IOException {
Tuple tuple = this.tupleStream.read();
if (tuple.EOF) {
@@ -506,7 +500,6 @@ public class StreamHandler extends RequestHandlerBase implements SolrCoreAware,
String collection = param.split("\\.")[0];
String shardString = params.get(param);
String[] shards = shardString.split(",");
- @SuppressWarnings({"rawtypes"})
List<String> shardList = new ArrayList<>();
for (String shard : shards) {
shardList.add(shard);
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/AdminHandlersProxy.java b/solr/core/src/java/org/apache/solr/handler/admin/AdminHandlersProxy.java
index bf6c2fc..e5826a8 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/AdminHandlersProxy.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/AdminHandlersProxy.java
@@ -37,7 +37,7 @@ import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.request.GenericSolrRequest;
import org.apache.solr.cloud.ZkController;
import org.apache.solr.common.SolrException;
-import org.apache.solr.common.params.MapSolrParams;
+import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.Pair;
@@ -68,11 +68,7 @@ public class AdminHandlersProxy {
Set<String> nodes;
String pathStr = req.getPath();
-
- @SuppressWarnings({"unchecked"})
- Map<String,String> paramsMap = req.getParams().toMap(new HashMap<>());
- paramsMap.remove(PARAM_NODES);
- SolrParams params = new MapSolrParams(paramsMap);
+
Set<String> liveNodes = container.getZkController().zkStateReader.getClusterState().getLiveNodes();
if (nodeNames.equals("all")) {
@@ -94,7 +90,9 @@ public class AdminHandlersProxy {
if (log.isDebugEnabled()) {
log.debug("{} parameter {} specified on {}Â request", PARAM_NODES, nodeNames, pathStr);
}
-
+
+ ModifiableSolrParams params = new ModifiableSolrParams(req.getParams());
+ params.remove(PARAM_NODES);
Map<String, Pair<Future<NamedList<Object>>, SolrClient>> responses = new HashMap<>();
for (String node : nodes) {
responses.put(node, callRemoteNode(node, pathStr, params, container.getZkController()));
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/BaseHandlerApiSupport.java b/solr/core/src/java/org/apache/solr/handler/admin/BaseHandlerApiSupport.java
index d813e44..cf1bd69 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/BaseHandlerApiSupport.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/BaseHandlerApiSupport.java
@@ -112,7 +112,7 @@ public abstract class BaseHandlerApiSupport implements ApiSupport {
}
}
}
- wrapParams(req, new CommandOperation("", Collections.EMPTY_MAP), commands.get(0), true);
+ wrapParams(req, new CommandOperation("", Collections.emptyMap()), commands.get(0), true);
commands.get(0).invoke(req, rsp, apiHandler);
}
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java
index 8a57056..8891817 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/CollectionsHandler.java
@@ -559,7 +559,6 @@ public class CollectionsHandler extends RequestHandlerBase implements Permission
return null;
}),
- @SuppressWarnings({"unchecked"})
CREATEALIAS_OP(CREATEALIAS, (req, rsp, h) -> {
String alias = req.getParams().get(NAME);
SolrIdentifierValidator.validateAliasName(alias);
@@ -569,7 +568,11 @@ public class CollectionsHandler extends RequestHandlerBase implements Permission
HashMap<String,Object> possiblyModifiedParams = new HashMap<>();
try {
// note that RA specific validation occurs here.
- routedAlias = RoutedAlias.fromProps(alias, req.getParams().toMap(possiblyModifiedParams));
+ req.getParams().toMap(possiblyModifiedParams);
+ @SuppressWarnings({"unchecked", "rawtypes"})
+ // This is awful because RoutedAlias lies about what types it wants
+ Map<String, String> temp = (Map<String, String>) (Map) possiblyModifiedParams;
+ routedAlias = RoutedAlias.fromProps(alias, temp);
} catch (SolrException e) {
// we'll throw this later if we are in fact creating a routed alias.
ex = e;
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 d3b5cb9..90e8fc0 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
@@ -109,7 +109,6 @@ public class MetricsHandler extends RequestHandlerBase implements PermissionName
handleRequest(req.getParams(), (k, v) -> rsp.add(k, v));
}
- @SuppressWarnings({"unchecked"})
public void handleRequest(SolrParams params, BiConsumer<String, Object> consumer) throws Exception {
if (!enabled) {
consumer.accept("error", "metrics collection is disabled");
@@ -359,10 +358,9 @@ public class MetricsHandler extends RequestHandlerBase implements PermissionName
public static final String SUPPORTED_TYPES_MSG = EnumSet.allOf(MetricType.class).toString();
- @SuppressWarnings({"rawtypes"})
- private final Class klass;
+ private final Class<? extends Metric> klass;
- MetricType(@SuppressWarnings({"rawtypes"})Class klass) {
+ MetricType(Class<? extends Metric> klass) {
this.klass = klass;
}
diff --git a/solr/core/src/java/org/apache/solr/handler/admin/SecurityConfHandler.java b/solr/core/src/java/org/apache/solr/handler/admin/SecurityConfHandler.java
index f590bf3..1f3d066 100644
--- a/solr/core/src/java/org/apache/solr/handler/admin/SecurityConfHandler.java
+++ b/solr/core/src/java/org/apache/solr/handler/admin/SecurityConfHandler.java
@@ -196,8 +196,7 @@ public abstract class SecurityConfHandler extends RequestHandlerBase implements
* The data object defaults to EMPTY_MAP if not set
*/
public static class SecurityConfig {
- @SuppressWarnings({"unchecked"})
- private Map<String, Object> data = Collections.EMPTY_MAP;
+ private Map<String, Object> data = Collections.emptyMap();
private int version = -1;
public SecurityConfig() {}
diff --git a/solr/core/src/java/org/apache/solr/handler/component/ExpandComponent.java b/solr/core/src/java/org/apache/solr/handler/component/ExpandComponent.java
index cad9a4c..12ccfe1 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/ExpandComponent.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/ExpandComponent.java
@@ -131,7 +131,6 @@ public class ExpandComponent extends SearchComponent implements PluginInfoInitia
}
- @SuppressWarnings("unchecked")
@Override
public void process(ResponseBuilder rb) throws IOException {
@@ -220,7 +219,6 @@ public class ExpandComponent extends SearchComponent implements PluginInfoInitia
if(fieldType instanceof StrField) {
//Get The Top Level SortedDocValues
if(CollapsingQParserPlugin.HINT_TOP_FC.equals(hint)) {
- @SuppressWarnings("resource")
LeafReader uninvertingReader = CollapsingQParserPlugin.getTopFieldCacheReader(searcher, field);
values = uninvertingReader.getSortedDocValues(field);
} else {
@@ -390,7 +388,6 @@ public class ExpandComponent extends SearchComponent implements PluginInfoInitia
if(values != null) {
//Get The Top Level SortedDocValues again so we can re-iterate:
if(CollapsingQParserPlugin.HINT_TOP_FC.equals(hint)) {
- @SuppressWarnings("resource")
LeafReader uninvertingReader = CollapsingQParserPlugin.getTopFieldCacheReader(searcher, field);
values = uninvertingReader.getSortedDocValues(field);
} else {
diff --git a/solr/core/src/java/org/apache/solr/handler/component/SpellCheckComponent.java b/solr/core/src/java/org/apache/solr/handler/component/SpellCheckComponent.java
index ae5b439..83fb1de 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/SpellCheckComponent.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/SpellCheckComponent.java
@@ -115,7 +115,6 @@ public class SpellCheckComponent extends SearchComponent implements SolrCoreAwar
}
@Override
- @SuppressWarnings("unchecked")
public void prepare(ResponseBuilder rb) throws IOException {
SolrParams params = rb.req.getParams();
diff --git a/solr/core/src/java/org/apache/solr/handler/component/SuggestComponent.java b/solr/core/src/java/org/apache/solr/handler/component/SuggestComponent.java
index 3c6a8dc..fd72be9 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/SuggestComponent.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/SuggestComponent.java
@@ -105,7 +105,6 @@ public class SuggestComponent extends SearchComponent implements SolrCoreAware,
}
@Override
- @SuppressWarnings("unchecked")
public void init(@SuppressWarnings({"rawtypes"})NamedList args) {
super.init(args);
this.initParams = args;
diff --git a/solr/core/src/java/org/apache/solr/handler/export/ExportWriter.java b/solr/core/src/java/org/apache/solr/handler/export/ExportWriter.java
index f2d0b9b..72380fb 100644
--- a/solr/core/src/java/org/apache/solr/handler/export/ExportWriter.java
+++ b/solr/core/src/java/org/apache/solr/handler/export/ExportWriter.java
@@ -25,6 +25,7 @@ import java.io.PrintWriter;
import java.lang.invoke.MethodHandles;
import java.nio.charset.StandardCharsets;
import java.util.List;
+import java.util.Map;
import java.util.TreeSet;
import org.apache.lucene.index.LeafReader;
@@ -79,7 +80,6 @@ import org.slf4j.LoggerFactory;
import static java.util.Collections.singletonList;
import static java.util.Collections.singletonMap;
-import static org.apache.solr.common.util.Utils.makeMap;
/**
* Prepares and writes the documents requested by /export requests
@@ -164,7 +164,7 @@ public class ExportWriter implements SolrCore.RawWriter, Closeable {
protected void writeException(Exception e, PushWriter w, boolean logException) throws IOException {
w.writeMap(mw -> {
mw.put("responseHeader", singletonMap("status", 400))
- .put("response", makeMap(
+ .put("response", Map.of(
"numFound", 0,
"docs", singletonList(singletonMap("EXCEPTION", e.getMessage()))));
});
diff --git a/solr/core/src/java/org/apache/solr/handler/sql/SolrEnumerator.java b/solr/core/src/java/org/apache/solr/handler/sql/SolrEnumerator.java
index cd038f5..fc1ea7f 100644
--- a/solr/core/src/java/org/apache/solr/handler/sql/SolrEnumerator.java
+++ b/solr/core/src/java/org/apache/solr/handler/sql/SolrEnumerator.java
@@ -33,8 +33,7 @@ class SolrEnumerator implements Enumerator<Object> {
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
private final TupleStream tupleStream;
- @SuppressWarnings({"rawtypes"})
- private final List<Map.Entry<String, Class>> fields;
+ private final List<Map.Entry<String, Class<?>>> fields;
private Tuple current;
private char sep = 31;
@@ -43,8 +42,7 @@ class SolrEnumerator implements Enumerator<Object> {
* @param tupleStream Solr TupleStream
* @param fields Fields to get from each Tuple
*/
- @SuppressWarnings({"rawtypes"})
- SolrEnumerator(TupleStream tupleStream, List<Map.Entry<String, Class>> fields) {
+ SolrEnumerator(TupleStream tupleStream, List<Map.Entry<String, Class<?>>> fields) {
this.tupleStream = tupleStream;
try {
@@ -74,15 +72,14 @@ class SolrEnumerator implements Enumerator<Object> {
}
}
- @SuppressWarnings({"rawtypes"})
- private Object getter(Tuple tuple, Map.Entry<String, Class> field) {
+ private Object getter(Tuple tuple, Map.Entry<String, Class<?>> field) {
Object val = tuple.get(field.getKey());
if(val == null) {
return null;
}
- Class clazz = field.getValue();
+ Class<?> clazz = field.getValue();
if(clazz.equals(Long.class)) {
if(val instanceof Double) {
return this.getRealVal(val);
@@ -91,7 +88,7 @@ class SolrEnumerator implements Enumerator<Object> {
}
if(val instanceof ArrayList) {
- ArrayList arrayList = (ArrayList) val;
+ ArrayList<?> arrayList = (ArrayList<?>) val;
StringBuilder buf = new StringBuilder();
for(Object o : arrayList) {
diff --git a/solr/core/src/java/org/apache/solr/handler/sql/SolrMethod.java b/solr/core/src/java/org/apache/solr/handler/sql/SolrMethod.java
index d6e12e7..b130fdf 100644
--- a/solr/core/src/java/org/apache/solr/handler/sql/SolrMethod.java
+++ b/solr/core/src/java/org/apache/solr/handler/sql/SolrMethod.java
@@ -38,8 +38,7 @@ enum SolrMethod {
public final Method method;
- @SuppressWarnings({"rawtypes"})
- SolrMethod(Class clazz, String methodName, Class... argumentTypes) {
+ SolrMethod(Class<?> clazz, String methodName, Class<?>... argumentTypes) {
this.method = Types.lookupMethod(clazz, methodName, argumentTypes);
}
}
diff --git a/solr/core/src/java/org/apache/solr/handler/sql/SolrTable.java b/solr/core/src/java/org/apache/solr/handler/sql/SolrTable.java
index 5572414..dcc1302 100644
--- a/solr/core/src/java/org/apache/solr/handler/sql/SolrTable.java
+++ b/solr/core/src/java/org/apache/solr/handler/sql/SolrTable.java
@@ -97,7 +97,7 @@ class SolrTable extends AbstractQueryableTable implements TranslatableTable {
* @return Enumerator of results
*/
private Enumerable<Object> query(final Properties properties,
- @SuppressWarnings("rawtypes") final List<Map.Entry<String, Class>> fields,
+ final List<Map.Entry<String, Class<?>>> fields,
final String query,
final List<Pair<String, String>> orders,
final List<String> buckets,
@@ -251,11 +251,10 @@ class SolrTable extends AbstractQueryableTable implements TranslatableTable {
}
}
- @SuppressWarnings({"rawtypes"})
private TupleStream handleSelect(String zk,
String collection,
String query,
- List<Map.Entry<String, Class>> fields,
+ List<Map.Entry<String, Class<?>>> fields,
List<Pair<String, String>> orders,
String limit) throws IOException {
@@ -263,7 +262,7 @@ class SolrTable extends AbstractQueryableTable implements TranslatableTable {
params.add(CommonParams.Q, query);
//Validate the fields
- for(Map.Entry<String, Class> entry : fields) {
+ for(Map.Entry<String, Class<?>> entry : fields) {
String fname = entry.getKey();
if(limit == null && "score".equals(fname)) {
throw new IOException("score is not a valid field for unlimited queries.");
@@ -319,10 +318,9 @@ class SolrTable extends AbstractQueryableTable implements TranslatableTable {
return buf.toString();
}
- @SuppressWarnings({"rawtypes"})
- private String getFields(List<Map.Entry<String, Class>> fields) {
+ private String getFields(List<Map.Entry<String, Class<?>>> fields) {
StringBuilder buf = new StringBuilder();
- for(Map.Entry<String, Class> field : fields) {
+ for(Map.Entry<String, Class<?>> field : fields) {
if(buf.length() > 0) {
buf.append(",");
@@ -350,16 +348,15 @@ class SolrTable extends AbstractQueryableTable implements TranslatableTable {
}
- @SuppressWarnings({"unchecked", "rawtypes"})
- private Set<String> getFieldSet(Metric[] metrics, List<Map.Entry<String, Class>> fields) {
- HashSet set = new HashSet<>();
+ private Set<String> getFieldSet(Metric[] metrics, List<Map.Entry<String, Class<?>>> fields) {
+ HashSet<String> set = new HashSet<>();
for(Metric metric : metrics) {
for(String column : metric.getColumns()) {
set.add(column);
}
}
- for(Map.Entry<String, Class> field : fields) {
+ for(Map.Entry<String, Class<?>> field : fields) {
if(field.getKey().indexOf('(') == -1) {
set.add(field.getKey());
}
@@ -426,11 +423,10 @@ class SolrTable extends AbstractQueryableTable implements TranslatableTable {
return true;
}
- @SuppressWarnings({"rawtypes"})
private TupleStream handleGroupByMapReduce(String zk,
String collection,
Properties properties,
- final List<Map.Entry<String, Class>> fields,
+ final List<Map.Entry<String, Class<?>>> fields,
final String query,
final List<Pair<String, String>> orders,
final List<String> _buckets,
@@ -438,8 +434,8 @@ class SolrTable extends AbstractQueryableTable implements TranslatableTable {
final String limit,
final String havingPredicate) throws IOException {
- Map<String, Class> fmap = new HashMap<>();
- for(Map.Entry<String, Class> entry : fields) {
+ Map<String, Class<?>> fmap = new HashMap<>();
+ for(Map.Entry<String, Class<?>> entry : fields) {
fmap.put(entry.getKey(), entry.getValue());
}
@@ -452,7 +448,7 @@ class SolrTable extends AbstractQueryableTable implements TranslatableTable {
return handleSelectDistinctMapReduce(zk, collection, properties, fields, query, orders, buckets, limit);
} else {
for(Metric metric : metrics) {
- Class c = fmap.get(metric.getIdentifier());
+ Class<?> c = fmap.get(metric.getIdentifier());
if(Long.class.equals(c)) {
metric.outputLong = true;
}
@@ -553,12 +549,11 @@ class SolrTable extends AbstractQueryableTable implements TranslatableTable {
return tupleStream;
}
- @SuppressWarnings({"rawtypes"})
- private Bucket[] buildBuckets(List<String> buckets, List<Map.Entry<String, Class>> fields) {
+ private Bucket[] buildBuckets(List<String> buckets, List<Map.Entry<String, Class<?>>> fields) {
Bucket[] bucketsArray = new Bucket[buckets.size()];
int i=0;
- for(Map.Entry<String,Class> field : fields) {
+ for(Map.Entry<String,Class<?>> field : fields) {
String fieldName = field.getKey();
if(buckets.contains(fieldName)) {
bucketsArray[i++] = new Bucket(fieldName);
@@ -568,10 +563,9 @@ class SolrTable extends AbstractQueryableTable implements TranslatableTable {
return bucketsArray;
}
- @SuppressWarnings({"rawtypes"})
private TupleStream handleGroupByFacet(String zkHost,
String collection,
- final List<Map.Entry<String, Class>> fields,
+ final List<Map.Entry<String, Class<?>>> fields,
final String query,
final List<Pair<String, String>> orders,
final List<String> bucketFields,
@@ -580,8 +574,8 @@ class SolrTable extends AbstractQueryableTable implements TranslatableTable {
final String havingPredicate) throws IOException {
- Map<String, Class> fmap = new HashMap<>();
- for(Map.Entry<String, Class> f : fields) {
+ Map<String, Class<?>> fmap = new HashMap<>();
+ for(Map.Entry<String, Class<?>> f : fields) {
fmap.put(f.getKey(), f.getValue());
}
@@ -595,7 +589,7 @@ class SolrTable extends AbstractQueryableTable implements TranslatableTable {
metrics[0] = new CountMetric();
} else {
for(Metric metric : metrics) {
- Class c = fmap.get(metric.getIdentifier());
+ Class<?> c = fmap.get(metric.getIdentifier());
if(Long.class.equals(c)) {
metric.outputLong = true;
}
@@ -659,11 +653,10 @@ class SolrTable extends AbstractQueryableTable implements TranslatableTable {
return tupleStream;
}
- @SuppressWarnings({"rawtypes"})
private TupleStream handleSelectDistinctMapReduce(final String zkHost,
final String collection,
final Properties properties,
- final List<Map.Entry<String, Class>> fields,
+ final List<Map.Entry<String, Class<?>>> fields,
final String query,
final List<Pair<String, String>> orders,
final Bucket[] buckets,
@@ -802,16 +795,15 @@ class SolrTable extends AbstractQueryableTable implements TranslatableTable {
return adjustedSorts.toArray(new FieldComparator[adjustedSorts.size()]);
}
- @SuppressWarnings({"rawtypes"})
private TupleStream handleStats(String zk,
String collection,
String query,
List<Pair<String, String>> metricPairs,
- List<Map.Entry<String, Class>> fields) throws IOException {
+ List<Map.Entry<String, Class<?>>> fields) throws IOException {
- Map<String, Class> fmap = new HashMap<>();
- for(Map.Entry<String, Class> entry : fields) {
+ Map<String, Class<?>> fmap = new HashMap<>();
+ for(Map.Entry<String, Class<?>> entry : fields) {
fmap.put(entry.getKey(), entry.getValue());
}
@@ -820,7 +812,7 @@ class SolrTable extends AbstractQueryableTable implements TranslatableTable {
Metric[] metrics = buildMetrics(metricPairs, false).toArray(new Metric[0]);
for(Metric metric : metrics) {
- Class c = fmap.get(metric.getIdentifier());
+ Class<?> c = fmap.get(metric.getIdentifier());
if(Long.class.equals(c)) {
metric.outputLong = true;
}
@@ -862,8 +854,8 @@ class SolrTable extends AbstractQueryableTable implements TranslatableTable {
*
* @see SolrMethod#SOLR_QUERYABLE_QUERY
*/
- @SuppressWarnings({"rawtypes","UnusedDeclaration"})
- public Enumerable<Object> query(List<Map.Entry<String, Class>> fields, String query, List<Pair<String, String>> order,
+ @SuppressWarnings({"UnusedDeclaration"})
+ public Enumerable<Object> query(List<Map.Entry<String, Class<?>>> fields, String query, List<Pair<String, String>> order,
List<String> buckets, List<Pair<String, String>> metricPairs, String limit, String negativeQuery, String havingPredicate) {
return getTable().query(getProperties(), fields, query, order, buckets, metricPairs, limit, negativeQuery, havingPredicate);
}
diff --git a/solr/core/src/java/org/apache/solr/handler/sql/SolrToEnumerableConverter.java b/solr/core/src/java/org/apache/solr/handler/sql/SolrToEnumerableConverter.java
index c9d8cae..45f131c 100644
--- a/solr/core/src/java/org/apache/solr/handler/sql/SolrToEnumerableConverter.java
+++ b/solr/core/src/java/org/apache/solr/handler/sql/SolrToEnumerableConverter.java
@@ -62,15 +62,13 @@ class SolrToEnumerableConverter extends ConverterImpl implements EnumerableRel {
final RelDataType rowType = getRowType();
final PhysType physType = PhysTypeImpl.of(implementor.getTypeFactory(), rowType, pref.prefer(JavaRowFormat.ARRAY));
final Expression table = list.append("table", solrImplementor.table.getExpression(SolrTable.SolrQueryable.class));
- @SuppressWarnings({"rawtypes"})
final Expression fields =
list.append("fields",
constantArrayList(
Pair.zip(generateFields(SolrRules.solrFieldNames(rowType), solrImplementor.fieldMappings),
- new AbstractList<Class>() {
+ new AbstractList<Class<?>>() {
@Override
- @SuppressWarnings({"rawtypes"})
- public Class get(int index) {
+ public Class<?> get(int index) {
return physType.fieldClass(index);
}
@@ -124,8 +122,7 @@ class SolrToEnumerableConverter extends ConverterImpl implements EnumerableRel {
* E.g. {@code constantArrayList("x", "y")} returns
* "Arrays.asList('x', 'y')".
*/
- @SuppressWarnings({"rawtypes"})
- private static <T> MethodCallExpression constantArrayList(List<T> values, Class clazz) {
+ private static <T> MethodCallExpression constantArrayList(List<T> values, Class<?> clazz) {
return Expressions.call(BuiltInMethod.ARRAYS_AS_LIST.method,
Expressions.newArrayInit(clazz, constantList(values)));
}
diff --git a/solr/core/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java b/solr/core/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java
index 3f05ece..0e559ab 100644
--- a/solr/core/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java
+++ b/solr/core/src/java/org/apache/solr/highlight/DefaultSolrHighlighter.java
@@ -570,7 +570,6 @@ public class DefaultSolrHighlighter extends SolrHighlighter implements PluginInf
}
/** Highlights and returns the highlight object for this field -- a String[] by default. Null if none. */
- @SuppressWarnings("unchecked")
protected Object doHighlightingByFastVectorHighlighter(SolrDocument doc, int docId,
SchemaField schemaField, FvhContainer fvhContainer,
IndexReader reader, SolrQueryRequest req) throws IOException {
@@ -592,7 +591,6 @@ public class DefaultSolrHighlighter extends SolrHighlighter implements PluginInf
}
/** Highlights and returns the highlight object for this field -- a String[] by default. Null if none. */
- @SuppressWarnings("unchecked")
protected Object doHighlightingByHighlighter(SolrDocument doc, int docId, SchemaField schemaField, Query query,
IndexReader reader, SolrQueryRequest req) throws IOException {
final SolrParams params = req.getParams();
@@ -767,7 +765,6 @@ public class DefaultSolrHighlighter extends SolrHighlighter implements PluginInf
}
/** Returns the alternate highlight object for this field -- a String[] by default. Null if none. */
- @SuppressWarnings("unchecked")
protected Object alternateField(SolrDocument doc, int docId, String fieldName, FvhContainer fvhContainer, Query query,
IndexReader reader, SolrQueryRequest req) throws IOException {
IndexSchema schema = req.getSearcher().getSchema();
diff --git a/solr/core/src/java/org/apache/solr/highlight/SolrHighlighter.java b/solr/core/src/java/org/apache/solr/highlight/SolrHighlighter.java
index f906a69..8595ccf 100644
--- a/solr/core/src/java/org/apache/solr/highlight/SolrHighlighter.java
+++ b/solr/core/src/java/org/apache/solr/highlight/SolrHighlighter.java
@@ -118,6 +118,5 @@ public abstract class SolrHighlighter
* @return NamedList containing a NamedList for each document, which in
* turns contains sets (field, summary) pairs.
*/
- @SuppressWarnings("unchecked")
public abstract NamedList<Object> doHighlighting(DocList docs, Query query, SolrQueryRequest req, String[] defaultFields) throws IOException;
}
diff --git a/solr/core/src/java/org/apache/solr/index/WrapperMergePolicyFactory.java b/solr/core/src/java/org/apache/solr/index/WrapperMergePolicyFactory.java
index ec5d5c0..b9f36e8 100644
--- a/solr/core/src/java/org/apache/solr/index/WrapperMergePolicyFactory.java
+++ b/solr/core/src/java/org/apache/solr/index/WrapperMergePolicyFactory.java
@@ -68,7 +68,6 @@ public abstract class WrapperMergePolicyFactory extends MergePolicyFactory {
}
/** Returns an instance of the wrapped {@link MergePolicy} after it has been configured with all set parameters. */
- @SuppressWarnings({"rawtypes"})
protected final MergePolicy getWrappedMergePolicy() {
if (wrappedMergePolicyArgs == null) {
return getDefaultWrappedMergePolicy();
@@ -78,7 +77,7 @@ public abstract class WrapperMergePolicyFactory extends MergePolicyFactory {
wrappedMergePolicyClassName,
MergePolicyFactory.class,
NO_SUB_PACKAGES,
- new Class[] {SolrResourceLoader.class, MergePolicyFactoryArgs.class, IndexSchema.class},
+ new Class<?>[] {SolrResourceLoader.class, MergePolicyFactoryArgs.class, IndexSchema.class},
new Object[] {resourceLoader, wrappedMergePolicyArgs, schema});
return mpf.getMergePolicy();
}
diff --git a/solr/core/src/java/org/apache/solr/legacy/LegacyNumericRangeQuery.java b/solr/core/src/java/org/apache/solr/legacy/LegacyNumericRangeQuery.java
index d5c37a7..7dc3e26 100644
--- a/solr/core/src/java/org/apache/solr/legacy/LegacyNumericRangeQuery.java
+++ b/solr/core/src/java/org/apache/solr/legacy/LegacyNumericRangeQuery.java
@@ -340,7 +340,7 @@ public final class LegacyNumericRangeQuery<T extends Number> extends MultiTermQu
}
@Override
- @SuppressWarnings({"unchecked","rawtypes"})
+ @SuppressWarnings({"rawtypes"})
public final boolean equals(final Object o) {
if (o==this) return true;
if (!super.equals(o))
diff --git a/solr/core/src/java/org/apache/solr/metrics/MetricsMap.java b/solr/core/src/java/org/apache/solr/metrics/MetricsMap.java
index 8faccff..36227ea 100644
--- a/solr/core/src/java/org/apache/solr/metrics/MetricsMap.java
+++ b/solr/core/src/java/org/apache/solr/metrics/MetricsMap.java
@@ -192,10 +192,8 @@ public class MetricsMap implements Gauge<Map<String,Object>>, MapWriter, Dynamic
if (jmxAttributes != null && jmxAttributes.containsKey(k)) {
return;
}
- @SuppressWarnings({"rawtypes"})
- Class type = v.getClass();
- @SuppressWarnings({"rawtypes"})
- OpenType typeBox = determineType(type);
+ Class<?> type = v.getClass();
+ OpenType<?> typeBox = determineType(type);
if (type.equals(String.class) || typeBox == null) {
attrInfoList.add(new MBeanAttributeInfo(k, String.class.getName(),
null, true, false, false));
@@ -214,12 +212,11 @@ public class MetricsMap implements Gauge<Map<String,Object>>, MapWriter, Dynamic
return new MBeanInfo(getClass().getName(), "MetricsMap", attrInfoArr, null, null, null);
}
- @SuppressWarnings({"rawtypes"})
- private OpenType determineType(Class type) {
+ private OpenType<?> determineType(Class<?> type) {
try {
for (Field field : SimpleType.class.getFields()) {
if (field.getType().equals(SimpleType.class)) {
- SimpleType candidate = (SimpleType) field.get(SimpleType.class);
+ SimpleType<?> candidate = (SimpleType<?>) field.get(SimpleType.class);
if (candidate.getTypeName().equals(type.getName())) {
return candidate;
}
diff --git a/solr/core/src/java/org/apache/solr/metrics/SolrMetricManager.java b/solr/core/src/java/org/apache/solr/metrics/SolrMetricManager.java
index 1ebee8c..029f5e6 100644
--- a/solr/core/src/java/org/apache/solr/metrics/SolrMetricManager.java
+++ b/solr/core/src/java/org/apache/solr/metrics/SolrMetricManager.java
@@ -1003,7 +1003,6 @@ public class SolrMetricManager {
* component instances.
* @throws Exception if any argument is missing or invalid
*/
- @SuppressWarnings({"rawtypes"})
public void loadReporter(String registry, SolrResourceLoader loader, CoreContainer coreContainer, SolrCore solrCore, PluginInfo pluginInfo, String tag) throws Exception {
if (registry == null || pluginInfo == null || pluginInfo.name == null || pluginInfo.className == null) {
throw new IllegalArgumentException("loadReporter called with missing arguments: " +
@@ -1015,7 +1014,7 @@ public class SolrMetricManager {
pluginInfo.className,
SolrMetricReporter.class,
new String[0],
- new Class[]{SolrMetricManager.class, String.class},
+ new Class<?>[]{SolrMetricManager.class, String.class},
new Object[]{this, registry}
);
// prepare MDC for plugins that want to use its properties
diff --git a/solr/core/src/java/org/apache/solr/packagemanager/PackageManager.java b/solr/core/src/java/org/apache/solr/packagemanager/PackageManager.java
index 6f2f618..971a2f6 100644
--- a/solr/core/src/java/org/apache/solr/packagemanager/PackageManager.java
+++ b/solr/core/src/java/org/apache/solr/packagemanager/PackageManager.java
@@ -219,7 +219,6 @@ public class PackageManager implements Closeable {
public Map<String, SolrPackageInstance> getPackagesDeployedAsClusterLevelPlugins() {
Map<String, String> packageVersions = new HashMap<>();
MultiValuedMap<String, PluginMeta> packagePlugins = new HashSetValuedHashMap<>(); // map of package name to multiple values of pluginMeta (Map<String, String>)
- @SuppressWarnings({"unchecked"})
Map<String, Object> result;
try {
result = (Map<String, Object>) Utils.executeGET(solrClient.getHttpClient(),
diff --git a/solr/core/src/java/org/apache/solr/pkg/PackageAPI.java b/solr/core/src/java/org/apache/solr/pkg/PackageAPI.java
index d932e50..5dd9f55 100644
--- a/solr/core/src/java/org/apache/solr/pkg/PackageAPI.java
+++ b/solr/core/src/java/org/apache/solr/pkg/PackageAPI.java
@@ -264,7 +264,6 @@ public class PackageAPI {
}
@Command(name = "add")
- @SuppressWarnings({"unchecked"})
public void add(PayloadObj<Package.AddVersion> payload) {
if (!checkEnabled(payload)) return;
Package.AddVersion add = payload.get();
diff --git a/solr/core/src/java/org/apache/solr/pkg/PackageListeningClassLoader.java b/solr/core/src/java/org/apache/solr/pkg/PackageListeningClassLoader.java
index 14617aa..2dbb6de 100644
--- a/solr/core/src/java/org/apache/solr/pkg/PackageListeningClassLoader.java
+++ b/solr/core/src/java/org/apache/solr/pkg/PackageListeningClassLoader.java
@@ -113,8 +113,7 @@ public class PackageListeningClassLoader implements SolrClassLoader , PackageLis
}
@Override
- @SuppressWarnings({"rawtypes"})
- public <T> T newInstance(String cname, Class<T> expectedType, String[] subPackages, Class[] params, Object[] args) {
+ public <T> T newInstance(String cname, Class<T> expectedType, String[] subPackages, Class<?>[] params, Object[] args) {
PluginInfo.ClassName cName = new PluginInfo.ClassName(cname);
if (cName.pkg == null) {
return fallbackClassLoader.newInstance(cname, expectedType, subPackages, params, args);
diff --git a/solr/core/src/java/org/apache/solr/pkg/PackageLoader.java b/solr/core/src/java/org/apache/solr/pkg/PackageLoader.java
index e3ad675..2cd6e9c 100644
--- a/solr/core/src/java/org/apache/solr/pkg/PackageLoader.java
+++ b/solr/core/src/java/org/apache/solr/pkg/PackageLoader.java
@@ -83,9 +83,8 @@ public class PackageLoader implements Closeable {
return packageClassLoaders.get(key);
}
- @SuppressWarnings({"unchecked"})
public Map<String, Package> getPackages() {
- return Collections.EMPTY_MAP;
+ return Collections.emptyMap();
}
public void refreshPackageConf() {
diff --git a/solr/core/src/java/org/apache/solr/request/SolrQueryRequestBase.java b/solr/core/src/java/org/apache/solr/request/SolrQueryRequestBase.java
index ac3acf3..bc72db8 100644
--- a/solr/core/src/java/org/apache/solr/request/SolrQueryRequestBase.java
+++ b/solr/core/src/java/org/apache/solr/request/SolrQueryRequestBase.java
@@ -229,8 +229,7 @@ public abstract class SolrQueryRequestBase implements SolrQueryRequest, Closeabl
return null;
}
- @SuppressWarnings({"unchecked"})
protected Map<String, JsonSchemaValidator> getValidators(){
- return Collections.EMPTY_MAP;
+ return Collections.emptyMap();
}
}
diff --git a/solr/core/src/java/org/apache/solr/request/SolrRequestInfo.java b/solr/core/src/java/org/apache/solr/request/SolrRequestInfo.java
index 9e08509..aa10d10 100644
--- a/solr/core/src/java/org/apache/solr/request/SolrRequestInfo.java
+++ b/solr/core/src/java/org/apache/solr/request/SolrRequestInfo.java
@@ -210,7 +210,6 @@ public class SolrRequestInfo {
}
@Override
- @SuppressWarnings({"unchecked"})
public void set(@SuppressWarnings({"rawtypes"})AtomicReference ctx) {
SolrRequestInfo me = (SolrRequestInfo) ctx.get();
if (me != null) {
diff --git a/solr/core/src/java/org/apache/solr/rest/ManagedResource.java b/solr/core/src/java/org/apache/solr/rest/ManagedResource.java
index c6e7adf..9c2f9de 100644
--- a/solr/core/src/java/org/apache/solr/rest/ManagedResource.java
+++ b/solr/core/src/java/org/apache/solr/rest/ManagedResource.java
@@ -170,7 +170,6 @@ public abstract class ManagedResource {
/**
* Invoked when this object determines it needs to reload the stored data.
*/
- @SuppressWarnings("unchecked")
protected synchronized void reloadFromStorage() throws SolrException {
String resourceId = getResourceId();
Object data = null;
diff --git a/solr/core/src/java/org/apache/solr/schema/BoolField.java b/solr/core/src/java/org/apache/solr/schema/BoolField.java
index 3a4b49a..6910ee0 100644
--- a/solr/core/src/java/org/apache/solr/schema/BoolField.java
+++ b/solr/core/src/java/org/apache/solr/schema/BoolField.java
@@ -231,7 +231,7 @@ public class BoolField extends PrimitiveFieldType {
@Override
- public FunctionValues getValues(@SuppressWarnings({"rawtypes"})Map context, LeafReaderContext readerContext) throws IOException {
+ public FunctionValues getValues(Map<Object, Object> context, LeafReaderContext readerContext) throws IOException {
final SortedDocValues sindex = DocValues.getSorted(readerContext.reader(), field);
// figure out what ord maps to true
diff --git a/solr/core/src/java/org/apache/solr/schema/CurrencyFieldType.java b/solr/core/src/java/org/apache/solr/schema/CurrencyFieldType.java
index 38e2d57..43c3d7d 100644
--- a/solr/core/src/java/org/apache/solr/schema/CurrencyFieldType.java
+++ b/solr/core/src/java/org/apache/solr/schema/CurrencyFieldType.java
@@ -402,7 +402,7 @@ public class CurrencyFieldType extends FieldType implements SchemaAware, Resourc
}
@Override
- public FunctionValues getValues(@SuppressWarnings({"rawtypes"})Map context, LeafReaderContext reader)
+ public FunctionValues getValues(Map<Object, Object> context, LeafReaderContext reader)
throws IOException {
final FunctionValues amounts = source.getValues(context, reader);
// the target digits & currency of our source,
@@ -514,8 +514,7 @@ public class CurrencyFieldType extends FieldType implements SchemaAware, Resourc
public Currency getTargetCurrency() { return targetCurrency; }
@Override
- @SuppressWarnings({"unchecked"})
- public FunctionValues getValues(@SuppressWarnings({"rawtypes"})Map context, LeafReaderContext reader) throws IOException {
+ public FunctionValues getValues(Map<Object, Object> context, LeafReaderContext reader) throws IOException {
final FunctionValues amounts = amountValues.getValues(context, reader);
final FunctionValues currencies = currencyValues.getValues(context, reader);
diff --git a/solr/core/src/java/org/apache/solr/schema/FieldTypePluginLoader.java b/solr/core/src/java/org/apache/solr/schema/FieldTypePluginLoader.java
index 345a2cf..2e35dc5 100644
--- a/solr/core/src/java/org/apache/solr/schema/FieldTypePluginLoader.java
+++ b/solr/core/src/java/org/apache/solr/schema/FieldTypePluginLoader.java
@@ -239,7 +239,6 @@ public final class FieldTypePluginLoader
("[schema.xml] analyzer/charFilter", CharFilterFactory.class, false, false) {
@Override
- @SuppressWarnings("rawtypes")
protected CharFilterFactory create(SolrClassLoader loader, String name, String className, ConfigNode node) throws Exception {
final Map<String,String> params = DOMUtil.toMapExcept(node);
String configuredVersion = params.remove(LUCENE_MATCH_VERSION_PARAM);
@@ -253,7 +252,7 @@ public final class FieldTypePluginLoader
"Cannot create charFilter: Both of name and className are specified.");
}
} else if (Objects.nonNull(className)) {
- factory = loader.newInstance(className, CharFilterFactory.class, getDefaultPackages(), new Class[]{Map.class}, new Object[]{params});
+ factory = loader.newInstance(className, CharFilterFactory.class, getDefaultPackages(), new Class<?>[]{Map.class}, new Object[]{params});
} else {
log.error("Neither of name or className is specified for charFilter.");
throw new SolrException(SolrException.ErrorCode.SERVER_ERROR,
@@ -290,7 +289,6 @@ public final class FieldTypePluginLoader
("[schema.xml] analyzer/tokenizer", TokenizerFactory.class, false, false) {
@Override
- @SuppressWarnings("rawtypes")
protected TokenizerFactory create(SolrClassLoader loader, String name, String className, ConfigNode node) throws Exception {
final Map<String,String> params = DOMUtil.toMap(node);
String configuredVersion = params.remove(LUCENE_MATCH_VERSION_PARAM);
@@ -304,7 +302,7 @@ public final class FieldTypePluginLoader
"Cannot create tokenizer: Both of name and className are specified.");
}
} else if (Objects.nonNull(className)) {
- factory = loader.newInstance(className, TokenizerFactory.class, getDefaultPackages(), new Class[]{Map.class}, new Object[]{params});
+ factory = loader.newInstance(className, TokenizerFactory.class, getDefaultPackages(), new Class<?>[]{Map.class}, new Object[]{params});
} else {
log.error("Neither of name or className is specified for tokenizer.");
throw new SolrException(SolrException.ErrorCode.SERVER_ERROR,
@@ -345,7 +343,6 @@ public final class FieldTypePluginLoader
new AbstractPluginLoader<TokenFilterFactory>("[schema.xml] analyzer/filter", TokenFilterFactory.class, false, false)
{
@Override
- @SuppressWarnings("rawtypes")
protected TokenFilterFactory create(SolrClassLoader loader, String name, String className, ConfigNode node) throws Exception {
final Map<String,String> params = DOMUtil.toMap(node);
String configuredVersion = params.remove(LUCENE_MATCH_VERSION_PARAM);
@@ -359,7 +356,7 @@ public final class FieldTypePluginLoader
"Cannot create tokenFilter: Both of name and className are specified.");
}
} else if (Objects.nonNull(className)) {
- factory = loader.newInstance(className, TokenFilterFactory.class, getDefaultPackages(), new Class[]{Map.class}, new Object[]{params});
+ factory = loader.newInstance(className, TokenFilterFactory.class, getDefaultPackages(), new Class<?>[]{Map.class}, new Object[]{params});
} else {
log.error("Neither of name or className is specified for tokenFilter.");
throw new SolrException(SolrException.ErrorCode.SERVER_ERROR,
diff --git a/solr/core/src/java/org/apache/solr/schema/IndexSchema.java b/solr/core/src/java/org/apache/solr/schema/IndexSchema.java
index 19c1de2..cbbbb8b 100644
--- a/solr/core/src/java/org/apache/solr/schema/IndexSchema.java
+++ b/solr/core/src/java/org/apache/solr/schema/IndexSchema.java
@@ -1380,9 +1380,8 @@ public class IndexSchema {
/**
* Get a map of property name -> value for the whole schema.
*/
- @SuppressWarnings({"unchecked", "rawtypes"})
- public Map getNamedPropertyValues() {
- return getNamedPropertyValues(null, new MapSolrParams(Collections.EMPTY_MAP));
+ public Map<String, Object> getNamedPropertyValues() {
+ return getNamedPropertyValues(null, new MapSolrParams(Collections.emptyMap()));
}
public static class SchemaProps implements MapSerializable {
diff --git a/solr/core/src/java/org/apache/solr/schema/RandomSortField.java b/solr/core/src/java/org/apache/solr/schema/RandomSortField.java
index 1a8ec24..971675c 100644
--- a/solr/core/src/java/org/apache/solr/schema/RandomSortField.java
+++ b/solr/core/src/java/org/apache/solr/schema/RandomSortField.java
@@ -173,7 +173,7 @@ public class RandomSortField extends FieldType {
}
@Override
- public FunctionValues getValues(@SuppressWarnings({"rawtypes"})Map context, final LeafReaderContext readerContext) throws IOException {
+ public FunctionValues getValues(Map<Object, Object> context, final LeafReaderContext readerContext) throws IOException {
return new IntDocValues(this) {
private final int seed = getSeed(field, readerContext);
@Override
diff --git a/solr/core/src/java/org/apache/solr/schema/StrFieldSource.java b/solr/core/src/java/org/apache/solr/schema/StrFieldSource.java
index 002ac3a..b084977 100644
--- a/solr/core/src/java/org/apache/solr/schema/StrFieldSource.java
+++ b/solr/core/src/java/org/apache/solr/schema/StrFieldSource.java
@@ -36,7 +36,7 @@ public class StrFieldSource extends FieldCacheSource {
}
@Override
- public FunctionValues getValues(@SuppressWarnings({"rawtypes"})Map context, LeafReaderContext readerContext) throws IOException {
+ public FunctionValues getValues(Map<Object, Object> context, LeafReaderContext readerContext) throws IOException {
return new DocTermsIndexDocValues(this, readerContext, field) {
@Override
diff --git a/solr/core/src/java/org/apache/solr/schema/TrieDoubleField.java b/solr/core/src/java/org/apache/solr/schema/TrieDoubleField.java
index ad26265..71f8640 100644
--- a/solr/core/src/java/org/apache/solr/schema/TrieDoubleField.java
+++ b/solr/core/src/java/org/apache/solr/schema/TrieDoubleField.java
@@ -71,7 +71,7 @@ public class TrieDoubleField extends TrieField implements DoubleValueFieldType {
return new SortedSetFieldSource(f.getName(), choice) {
@Override
- public FunctionValues getValues(@SuppressWarnings({"rawtypes"})Map context, LeafReaderContext readerContext) throws IOException {
+ public FunctionValues getValues(Map<Object, Object> context, LeafReaderContext readerContext) throws IOException {
SortedSetFieldSource thisAsSortedSetFieldSource = this; // needed for nested anon class ref
SortedSetDocValues sortedSet = DocValues.getSortedSet(readerContext.reader(), field);
diff --git a/solr/core/src/java/org/apache/solr/schema/TrieFloatField.java b/solr/core/src/java/org/apache/solr/schema/TrieFloatField.java
index 2932216..fb23f2d 100644
--- a/solr/core/src/java/org/apache/solr/schema/TrieFloatField.java
+++ b/solr/core/src/java/org/apache/solr/schema/TrieFloatField.java
@@ -71,7 +71,7 @@ public class TrieFloatField extends TrieField implements FloatValueFieldType {
return new SortedSetFieldSource(f.getName(), choice) {
@Override
- public FunctionValues getValues(@SuppressWarnings({"rawtypes"})Map context, LeafReaderContext readerContext) throws IOException {
+ public FunctionValues getValues(Map<Object, Object> context, LeafReaderContext readerContext) throws IOException {
SortedSetFieldSource thisAsSortedSetFieldSource = this; // needed for nested anon class ref
SortedSetDocValues sortedSet = DocValues.getSortedSet(readerContext.reader(), field);
diff --git a/solr/core/src/java/org/apache/solr/schema/TrieIntField.java b/solr/core/src/java/org/apache/solr/schema/TrieIntField.java
index 489adb5..57e73b5 100644
--- a/solr/core/src/java/org/apache/solr/schema/TrieIntField.java
+++ b/solr/core/src/java/org/apache/solr/schema/TrieIntField.java
@@ -69,7 +69,7 @@ public class TrieIntField extends TrieField implements IntValueFieldType {
return new SortedSetFieldSource(f.getName(), choice) {
@Override
- public FunctionValues getValues(@SuppressWarnings({"rawtypes"})Map context, LeafReaderContext readerContext) throws IOException {
+ public FunctionValues getValues(Map<Object, Object> context, LeafReaderContext readerContext) throws IOException {
SortedSetFieldSource thisAsSortedSetFieldSource = this; // needed for nested anon class ref
SortedSetDocValues sortedSet = DocValues.getSortedSet(readerContext.reader(), field);
diff --git a/solr/core/src/java/org/apache/solr/schema/TrieLongField.java b/solr/core/src/java/org/apache/solr/schema/TrieLongField.java
index 4de86a7..483f3a9 100644
--- a/solr/core/src/java/org/apache/solr/schema/TrieLongField.java
+++ b/solr/core/src/java/org/apache/solr/schema/TrieLongField.java
@@ -69,7 +69,7 @@ public class TrieLongField extends TrieField implements LongValueFieldType {
return new SortedSetFieldSource(f.getName(), choice) {
@Override
- public FunctionValues getValues(@SuppressWarnings({"rawtypes"})Map context, LeafReaderContext readerContext) throws IOException {
+ public FunctionValues getValues(Map<Object, Object> context, LeafReaderContext readerContext) throws IOException {
SortedSetFieldSource thisAsSortedSetFieldSource = this; // needed for nested anon class ref
SortedSetDocValues sortedSet = DocValues.getSortedSet(readerContext.reader(), field);
diff --git a/solr/core/src/java/org/apache/solr/search/CacheConfig.java b/solr/core/src/java/org/apache/solr/search/CacheConfig.java
index af1b87f..37b509e 100644
--- a/solr/core/src/java/org/apache/solr/search/CacheConfig.java
+++ b/solr/core/src/java/org/apache/solr/search/CacheConfig.java
@@ -181,6 +181,7 @@ public class CacheConfig implements MapSerializable{
@Override
public Map<String, Object> toMap(Map<String, Object> map) {
+ // TODO: Should not create new HashMap?
return new HashMap<>(args);
}
diff --git a/solr/core/src/java/org/apache/solr/search/FloatPayloadValueSource.java b/solr/core/src/java/org/apache/solr/search/FloatPayloadValueSource.java
index 130c1ef..cb66114 100644
--- a/solr/core/src/java/org/apache/solr/search/FloatPayloadValueSource.java
+++ b/solr/core/src/java/org/apache/solr/search/FloatPayloadValueSource.java
@@ -53,12 +53,11 @@ public class FloatPayloadValueSource extends ValueSource {
}
@Override
- public FunctionValues getValues(@SuppressWarnings({"rawtypes"})Map context
+ public FunctionValues getValues(Map<Object, Object> context
, LeafReaderContext readerContext) throws IOException {
final Terms terms = readerContext.reader().terms(indexedField);
- @SuppressWarnings({"unchecked"})
FunctionValues defaultValues = defaultValueSource.getValues(context, readerContext);
// copied the bulk of this from TFValueSource - TODO: this is a very repeated pattern - base-class this advance logic stuff?
diff --git a/solr/core/src/java/org/apache/solr/search/SolrCoreParser.java b/solr/core/src/java/org/apache/solr/search/SolrCoreParser.java
index 9d6e038..a435f43 100755
--- a/solr/core/src/java/org/apache/solr/search/SolrCoreParser.java
+++ b/solr/core/src/java/org/apache/solr/search/SolrCoreParser.java
@@ -54,13 +54,13 @@ public class SolrCoreParser extends CoreParser implements NamedListInitializedPl
}
@Override
- @SuppressWarnings({"unchecked", "rawtypes"})
- public void init(NamedList initArgs) {
+ public void init(@SuppressWarnings({"rawtypes"}) NamedList initArgs) {
if (initArgs == null || initArgs.size() == 0) {
return;
}
final SolrResourceLoader loader = req.getCore().getResourceLoader();
+ @SuppressWarnings("unchecked")
final Iterable<Map.Entry<String,Object>> args = initArgs;
for (final Map.Entry<String,Object> entry : args) {
final String queryName = entry.getKey();
@@ -71,7 +71,7 @@ public class SolrCoreParser extends CoreParser implements NamedListInitializedPl
queryBuilderClassName,
SolrSpanQueryBuilder.class,
null,
- new Class[] {String.class, Analyzer.class, SolrQueryRequest.class, SpanQueryBuilder.class},
+ new Class<?>[] {String.class, Analyzer.class, SolrQueryRequest.class, SpanQueryBuilder.class},
new Object[] {defaultField, analyzer, req, this});
this.addSpanQueryBuilder(queryName, spanQueryBuilder);
@@ -81,7 +81,7 @@ public class SolrCoreParser extends CoreParser implements NamedListInitializedPl
queryBuilderClassName,
SolrQueryBuilder.class,
null,
- new Class[] {String.class, Analyzer.class, SolrQueryRequest.class, QueryBuilder.class},
+ new Class<?>[] {String.class, Analyzer.class, SolrQueryRequest.class, QueryBuilder.class},
new Object[] {defaultField, analyzer, req, this});
this.addQueryBuilder(queryName, queryBuilder);
diff --git a/solr/core/src/java/org/apache/solr/search/ValueSourceParser.java b/solr/core/src/java/org/apache/solr/search/ValueSourceParser.java
index b1f7830..5cf632a 100644
--- a/solr/core/src/java/org/apache/solr/search/ValueSourceParser.java
+++ b/solr/core/src/java/org/apache/solr/search/ValueSourceParser.java
@@ -1304,7 +1304,7 @@ public abstract class ValueSourceParser implements NamedListInitializedPlugin {
}
@Override
- public FunctionValues getValues(@SuppressWarnings({"rawtypes"})Map context
+ public FunctionValues getValues(Map<Object, Object> context
, LeafReaderContext readerContext) throws IOException {
return new LongDocValues(this) {
@Override
@@ -1410,8 +1410,7 @@ public abstract class ValueSourceParser implements NamedListInitializedPlugin {
}
@Override
- public FunctionValues getValues(@SuppressWarnings({"rawtypes"})Map context, LeafReaderContext readerContext) throws IOException {
- @SuppressWarnings({"unchecked"})
+ public FunctionValues getValues(Map<Object, Object> context, LeafReaderContext readerContext) throws IOException {
final FunctionValues vals = source.getValues(context, readerContext);
return new DoubleDocValues(this) {
@Override
@@ -1458,10 +1457,8 @@ public abstract class ValueSourceParser implements NamedListInitializedPlugin {
}
@Override
- public FunctionValues getValues(@SuppressWarnings({"rawtypes"})Map context, LeafReaderContext readerContext) throws IOException {
- @SuppressWarnings({"unchecked"})
+ public FunctionValues getValues(Map<Object, Object> context, LeafReaderContext readerContext) throws IOException {
final FunctionValues aVals = a.getValues(context, readerContext);
- @SuppressWarnings({"unchecked"})
final FunctionValues bVals = b.getValues(context, readerContext);
return new DoubleDocValues(this) {
@Override
@@ -1476,7 +1473,7 @@ public abstract class ValueSourceParser implements NamedListInitializedPlugin {
}
@Override
- public void createWeight(@SuppressWarnings({"rawtypes"})Map context, IndexSearcher searcher) throws IOException {
+ public void createWeight(Map<Object, Object> context, IndexSearcher searcher) throws IOException {
}
@Override
@@ -1516,7 +1513,7 @@ public abstract class ValueSourceParser implements NamedListInitializedPlugin {
}
@Override
- public FunctionValues getValues(@SuppressWarnings({"rawtypes"})Map context,
+ public FunctionValues getValues(Map<Object, Object> context,
LeafReaderContext readerContext) throws IOException {
return new BoolDocValues(this) {
@Override
@@ -1577,8 +1574,7 @@ public abstract class ValueSourceParser implements NamedListInitializedPlugin {
}
@Override
- @SuppressWarnings({"unchecked"})
- public FunctionValues getValues(@SuppressWarnings({"rawtypes"})Map context
+ public FunctionValues getValues(Map<Object, Object> context
, LeafReaderContext readerContext) throws IOException {
if (context.get(this) == null) {
SolrRequestInfo requestInfo = SolrRequestInfo.getRequestInfo();
@@ -1603,8 +1599,7 @@ public abstract class ValueSourceParser implements NamedListInitializedPlugin {
}
@Override
- @SuppressWarnings({"unchecked"})
- public void createWeight(@SuppressWarnings({"rawtypes"})Map context, IndexSearcher searcher) throws IOException {
+ public void createWeight(Map<Object, Object> context, IndexSearcher searcher) throws IOException {
context.put(this, this);
}
diff --git a/solr/core/src/java/org/apache/solr/search/facet/AggValueSource.java b/solr/core/src/java/org/apache/solr/search/facet/AggValueSource.java
index da83b91..a131d1c 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/AggValueSource.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/AggValueSource.java
@@ -44,8 +44,7 @@ public abstract class AggValueSource extends ValueSource {
}
@Override
- @SuppressWarnings({"rawtypes"})
- public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException {
+ public FunctionValues getValues(Map<Object, Object> context, LeafReaderContext readerContext) throws IOException {
// FUTURE
throw new UnsupportedOperationException("NOT IMPLEMENTED " + name + " " + this);
}
diff --git a/solr/core/src/java/org/apache/solr/search/facet/FacetFieldMerger.java b/solr/core/src/java/org/apache/solr/search/facet/FacetFieldMerger.java
index a1c39cf..7826c93 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/FacetFieldMerger.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/FacetFieldMerger.java
@@ -45,7 +45,7 @@ public class FacetFieldMerger extends FacetRequestSortedMerger<FacetField> {
}
@Override
- @SuppressWarnings({"unchecked", "rawtypes"})
+ @SuppressWarnings({"rawtypes"})
public void merge(Object facetResult, Context mcontext) {
super.merge(facetResult, mcontext);
if (numReturnedPerShard == null) {
diff --git a/solr/core/src/java/org/apache/solr/search/facet/FacetModule.java b/solr/core/src/java/org/apache/solr/search/facet/FacetModule.java
index 3cde18a..5702a12 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/FacetModule.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/FacetModule.java
@@ -91,7 +91,6 @@ public class FacetModule extends SearchComponent {
SolrParams params = rb.req.getParams();
boolean isShard = params.getBool(ShardParams.IS_SHARD, false);
- @SuppressWarnings({"unchecked"})
Map<String, Object> facetInfo = null;
if (isShard) {
String jfacet = params.get(FACET_INFO);
diff --git a/solr/core/src/java/org/apache/solr/search/facet/FacetRangeProcessor.java b/solr/core/src/java/org/apache/solr/search/facet/FacetRangeProcessor.java
index 1bc985f..fdb6496 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/FacetRangeProcessor.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/FacetRangeProcessor.java
@@ -286,7 +286,6 @@ class FacetRangeProcessor extends FacetProcessor<FacetRange> {
throw new SolrException(SolrException.ErrorCode.BAD_REQUEST,
"Expected Map for range but got " + obj.getClass().getSimpleName() + " = " + obj);
}
- @SuppressWarnings({"unchecked"})
Range range;
@SuppressWarnings({"unchecked"})
Map<String, Object> interval = (Map<String, Object>) obj;
diff --git a/solr/core/src/java/org/apache/solr/search/facet/FacetRequestSortedMerger.java b/solr/core/src/java/org/apache/solr/search/facet/FacetRequestSortedMerger.java
index cdaa5f2..26b7774 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/FacetRequestSortedMerger.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/FacetRequestSortedMerger.java
@@ -69,7 +69,7 @@ abstract class FacetRequestSortedMerger<FacetRequestT extends FacetRequestSorted
}
}
- @SuppressWarnings({"unchecked", "rawtypes"})
+ @SuppressWarnings({"rawtypes"})
public void mergeBucketList(List<SimpleOrderedMap> bucketList, Context mcontext) {
for (SimpleOrderedMap bucketRes : bucketList) {
Comparable bucketVal = (Comparable)bucketRes.get("val");
diff --git a/solr/core/src/java/org/apache/solr/search/facet/RelatednessAgg.java b/solr/core/src/java/org/apache/solr/search/facet/RelatednessAgg.java
index 835de9b..1cf0c32 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/RelatednessAgg.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/RelatednessAgg.java
@@ -124,7 +124,7 @@ public class RelatednessAgg extends AggValueSource {
}
@Override
- public FunctionValues getValues(@SuppressWarnings("rawtypes") Map context, LeafReaderContext readerContext) throws IOException {
+ public FunctionValues getValues(Map<Object, Object> context, LeafReaderContext readerContext) throws IOException {
throw new UnsupportedOperationException("NOT IMPLEMENTED " + name + " " + this);
}
diff --git a/solr/core/src/java/org/apache/solr/search/facet/SimpleAggValueSource.java b/solr/core/src/java/org/apache/solr/search/facet/SimpleAggValueSource.java
index afc506c..42ee90b 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/SimpleAggValueSource.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/SimpleAggValueSource.java
@@ -35,8 +35,7 @@ public abstract class SimpleAggValueSource extends AggValueSource {
}
@Override
- @SuppressWarnings({"rawtypes"})
- public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException {
+ public FunctionValues getValues(Map<Object, Object> context, LeafReaderContext readerContext) throws IOException {
throw new UnsupportedOperationException();
}
diff --git a/solr/core/src/java/org/apache/solr/search/facet/SlotAcc.java b/solr/core/src/java/org/apache/solr/search/facet/SlotAcc.java
index 0da8be8..6be4920 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/SlotAcc.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/SlotAcc.java
@@ -576,7 +576,6 @@ public abstract class SlotAcc implements Closeable {
}
@Override
- @SuppressWarnings({"unchecked"})
public Object getValue(int slot) {
if (fcontext.isShard()) {
ArrayList<Object> lst = new ArrayList<>(3);
diff --git a/solr/core/src/java/org/apache/solr/search/facet/UnInvertedField.java b/solr/core/src/java/org/apache/solr/search/facet/UnInvertedField.java
index ee86fe0..ad83c8a 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/UnInvertedField.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/UnInvertedField.java
@@ -600,7 +600,6 @@ public class UnInvertedField extends DocTermOrds {
//////////////////////////// caching /////////////////////////////
//////////////////////////////////////////////////////////////////
- @SuppressWarnings("unchecked")
public static UnInvertedField getUnInvertedField(String field, SolrIndexSearcher searcher) throws IOException {
SolrCache<String, UnInvertedField> cache = searcher.getFieldValueCache();
if (cache == null) {
diff --git a/solr/core/src/java/org/apache/solr/search/function/CollapseScoreFunction.java b/solr/core/src/java/org/apache/solr/search/function/CollapseScoreFunction.java
index 69a3d59..fdc6dc3 100644
--- a/solr/core/src/java/org/apache/solr/search/function/CollapseScoreFunction.java
+++ b/solr/core/src/java/org/apache/solr/search/function/CollapseScoreFunction.java
@@ -41,8 +41,7 @@ public class CollapseScoreFunction extends ValueSource {
return 1213241257;
}
- @SuppressWarnings({"rawtypes"})
- public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException {
+ public FunctionValues getValues(Map<Object, Object> context, LeafReaderContext readerContext) throws IOException {
return new CollapseScoreFunctionValues(context);
}
diff --git a/solr/core/src/java/org/apache/solr/search/function/FieldNameValueSource.java b/solr/core/src/java/org/apache/solr/search/function/FieldNameValueSource.java
index 7b5714a..2d36be1 100644
--- a/solr/core/src/java/org/apache/solr/search/function/FieldNameValueSource.java
+++ b/solr/core/src/java/org/apache/solr/search/function/FieldNameValueSource.java
@@ -39,8 +39,7 @@ public class FieldNameValueSource extends ValueSource {
}
@Override
- @SuppressWarnings({"rawtypes"})
- public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException {
+ public FunctionValues getValues(Map<Object, Object> context, LeafReaderContext readerContext) throws IOException {
throw new UnsupportedOperationException("FieldNameValueSource should not be directly used: " + this);
}
diff --git a/solr/core/src/java/org/apache/solr/search/function/FileFloatSource.java b/solr/core/src/java/org/apache/solr/search/function/FileFloatSource.java
index 183cf2d..8ce7401 100644
--- a/solr/core/src/java/org/apache/solr/search/function/FileFloatSource.java
+++ b/solr/core/src/java/org/apache/solr/search/function/FileFloatSource.java
@@ -88,9 +88,7 @@ public class FileFloatSource extends ValueSource {
}
@Override
- @SuppressWarnings({"rawtypes"})
-
- public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException {
+ public FunctionValues getValues(Map<Object, Object> context, LeafReaderContext readerContext) throws IOException {
final int off = readerContext.docBase;
IndexReaderContext topLevelContext = ReaderUtil.getTopLevelContext(readerContext);
diff --git a/solr/core/src/java/org/apache/solr/search/function/MultiStringFunction.java b/solr/core/src/java/org/apache/solr/search/function/MultiStringFunction.java
index 763b170..c1ca092 100644
--- a/solr/core/src/java/org/apache/solr/search/function/MultiStringFunction.java
+++ b/solr/core/src/java/org/apache/solr/search/function/MultiStringFunction.java
@@ -60,8 +60,7 @@ public abstract class MultiStringFunction extends ValueSource {
}
@Override
- @SuppressWarnings({"unchecked"})
- public FunctionValues getValues(@SuppressWarnings({"rawtypes"})Map context, LeafReaderContext readerContext) throws IOException {
+ public FunctionValues getValues(Map<Object, Object> context, LeafReaderContext readerContext) throws IOException {
final FunctionValues[] valsArr = new FunctionValues[sources.length];
for (int i=0; i<sources.length; i++) {
valsArr[i] = sources[i].getValues(context, readerContext);
diff --git a/solr/core/src/java/org/apache/solr/search/function/OrdFieldSource.java b/solr/core/src/java/org/apache/solr/search/function/OrdFieldSource.java
index f4053c6..e07a7f5 100644
--- a/solr/core/src/java/org/apache/solr/search/function/OrdFieldSource.java
+++ b/solr/core/src/java/org/apache/solr/search/function/OrdFieldSource.java
@@ -71,8 +71,7 @@ public class OrdFieldSource extends ValueSource {
@Override
- @SuppressWarnings({"rawtypes"})
- public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException {
+ public FunctionValues getValues(Map<Object, Object> context, LeafReaderContext readerContext) throws IOException {
final int off = readerContext.docBase;
final LeafReader r;
Object o = context.get("searcher");
diff --git a/solr/core/src/java/org/apache/solr/search/function/ReverseOrdFieldSource.java b/solr/core/src/java/org/apache/solr/search/function/ReverseOrdFieldSource.java
index a505709..0451213 100644
--- a/solr/core/src/java/org/apache/solr/search/function/ReverseOrdFieldSource.java
+++ b/solr/core/src/java/org/apache/solr/search/function/ReverseOrdFieldSource.java
@@ -71,8 +71,7 @@ public class ReverseOrdFieldSource extends ValueSource {
}
@Override
- @SuppressWarnings({"rawtypes"})
- public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException {
+ public FunctionValues getValues(Map<Object, Object> context, LeafReaderContext readerContext) throws IOException {
final int off = readerContext.docBase;
final LeafReader r;
Object o = context.get("searcher");
diff --git a/solr/core/src/java/org/apache/solr/search/function/distance/GeohashFunction.java b/solr/core/src/java/org/apache/solr/search/function/distance/GeohashFunction.java
index c8468ad..44e7dd7 100644
--- a/solr/core/src/java/org/apache/solr/search/function/distance/GeohashFunction.java
+++ b/solr/core/src/java/org/apache/solr/search/function/distance/GeohashFunction.java
@@ -45,11 +45,8 @@ public class GeohashFunction extends ValueSource {
}
@Override
- @SuppressWarnings({"rawtypes"})
- public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException {
- @SuppressWarnings({"unchecked"})
+ public FunctionValues getValues(Map<Object, Object> context, LeafReaderContext readerContext) throws IOException {
final FunctionValues latDV = lat.getValues(context, readerContext);
- @SuppressWarnings({"unchecked"})
final FunctionValues lonDV = lon.getValues(context, readerContext);
diff --git a/solr/core/src/java/org/apache/solr/search/function/distance/GeohashHaversineFunction.java b/solr/core/src/java/org/apache/solr/search/function/distance/GeohashHaversineFunction.java
index 0bdf9f4..e0a5279 100644
--- a/solr/core/src/java/org/apache/solr/search/function/distance/GeohashHaversineFunction.java
+++ b/solr/core/src/java/org/apache/solr/search/function/distance/GeohashHaversineFunction.java
@@ -58,11 +58,9 @@ public class GeohashHaversineFunction extends ValueSource {
}
@Override
- public FunctionValues getValues(@SuppressWarnings({"rawtypes"})Map context,
+ public FunctionValues getValues(Map<Object, Object> context,
LeafReaderContext readerContext) throws IOException {
- @SuppressWarnings({"unchecked"})
final FunctionValues gh1DV = geoHash1.getValues(context, readerContext);
- @SuppressWarnings({"unchecked"})
final FunctionValues gh2DV = geoHash2.getValues(context, readerContext);
return new DoubleDocValues(this) {
@@ -98,8 +96,7 @@ public class GeohashHaversineFunction extends ValueSource {
}
@Override
- @SuppressWarnings({"unchecked"})
- public void createWeight(@SuppressWarnings({"rawtypes"})Map context, IndexSearcher searcher) throws IOException {
+ public void createWeight(Map<Object, Object> context, IndexSearcher searcher) throws IOException {
geoHash1.createWeight(context, searcher);
geoHash2.createWeight(context, searcher);
}
diff --git a/solr/core/src/java/org/apache/solr/search/function/distance/HaversineConstFunction.java b/solr/core/src/java/org/apache/solr/search/function/distance/HaversineConstFunction.java
index 1afada0..675d4f5 100644
--- a/solr/core/src/java/org/apache/solr/search/function/distance/HaversineConstFunction.java
+++ b/solr/core/src/java/org/apache/solr/search/function/distance/HaversineConstFunction.java
@@ -56,11 +56,9 @@ public class HaversineConstFunction extends ValueSource {
}
@Override
- public FunctionValues getValues(@SuppressWarnings({"rawtypes"})Map context,
+ public FunctionValues getValues(Map<Object, Object> context,
LeafReaderContext readerContext) throws IOException {
- @SuppressWarnings({"unchecked"})
final FunctionValues latVals = latSource.getValues(context, readerContext);
- @SuppressWarnings({"unchecked"})
final FunctionValues lonVals = lonSource.getValues(context, readerContext);
final double latCenterRad = this.latCenter * DEGREES_TO_RADIANS;
final double lonCenterRad = this.lonCenter * DEGREES_TO_RADIANS;
@@ -87,8 +85,7 @@ public class HaversineConstFunction extends ValueSource {
}
@Override
- @SuppressWarnings({"unchecked"})
- public void createWeight(@SuppressWarnings({"rawtypes"})Map context, IndexSearcher searcher) throws IOException {
+ public void createWeight(Map<Object, Object> context, IndexSearcher searcher) throws IOException {
latSource.createWeight(context, searcher);
lonSource.createWeight(context, searcher);
}
diff --git a/solr/core/src/java/org/apache/solr/search/function/distance/HaversineFunction.java b/solr/core/src/java/org/apache/solr/search/function/distance/HaversineFunction.java
index 41e0ed4..2bbfaae 100644
--- a/solr/core/src/java/org/apache/solr/search/function/distance/HaversineFunction.java
+++ b/solr/core/src/java/org/apache/solr/search/function/distance/HaversineFunction.java
@@ -93,11 +93,9 @@ public class HaversineFunction extends ValueSource {
@Override
- public FunctionValues getValues(@SuppressWarnings({"rawtypes"})Map context, LeafReaderContext readerContext) throws IOException {
- @SuppressWarnings({"unchecked"})
+ public FunctionValues getValues(Map<Object, Object> context, LeafReaderContext readerContext) throws IOException {
final FunctionValues vals1 = p1.getValues(context, readerContext);
- @SuppressWarnings({"unchecked"})
final FunctionValues vals2 = p2.getValues(context, readerContext);
return new DoubleDocValues(this) {
@Override
@@ -116,8 +114,7 @@ public class HaversineFunction extends ValueSource {
}
@Override
- @SuppressWarnings({"unchecked"})
- public void createWeight(@SuppressWarnings({"rawtypes"})Map context, IndexSearcher searcher) throws IOException {
+ public void createWeight(Map<Object, Object> context, IndexSearcher searcher) throws IOException {
p1.createWeight(context, searcher);
p2.createWeight(context, searcher);
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 717657c..1900536 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
@@ -43,11 +43,8 @@ public class StringDistanceFunction extends ValueSource {
}
@Override
- @SuppressWarnings({"rawtypes"})
- public FunctionValues getValues(Map context, LeafReaderContext readerContext) throws IOException {
- @SuppressWarnings({"unchecked"})
+ public FunctionValues getValues(Map<Object, Object> context, LeafReaderContext readerContext) throws IOException {
final FunctionValues str1DV = str1.getValues(context, readerContext);
- @SuppressWarnings({"unchecked"})
final FunctionValues str2DV = str2.getValues(context, readerContext);
return new FloatDocValues(this) {
diff --git a/solr/core/src/java/org/apache/solr/search/function/distance/VectorDistanceFunction.java b/solr/core/src/java/org/apache/solr/search/function/distance/VectorDistanceFunction.java
index 37e7e6d..cdb9fc2 100644
--- a/solr/core/src/java/org/apache/solr/search/function/distance/VectorDistanceFunction.java
+++ b/solr/core/src/java/org/apache/solr/search/function/distance/VectorDistanceFunction.java
@@ -149,12 +149,10 @@ public class VectorDistanceFunction extends ValueSource {
}
@Override
- public FunctionValues getValues(@SuppressWarnings({"rawtypes"})Map context, LeafReaderContext readerContext) throws IOException {
+ public FunctionValues getValues(Map<Object, Object> context, LeafReaderContext readerContext) throws IOException {
- @SuppressWarnings({"unchecked"})
final FunctionValues vals1 = source1.getValues(context, readerContext);
- @SuppressWarnings({"unchecked"})
final FunctionValues vals2 = source2.getValues(context, readerContext);
@@ -179,8 +177,7 @@ public class VectorDistanceFunction extends ValueSource {
}
@Override
- @SuppressWarnings({"unchecked"})
- public void createWeight(@SuppressWarnings({"rawtypes"})Map context, IndexSearcher searcher) throws IOException {
+ public void createWeight(Map<Object, Object> context, IndexSearcher searcher) throws IOException {
source1.createWeight(context, searcher);
source2.createWeight(context, searcher);
}
diff --git a/solr/core/src/java/org/apache/solr/search/grouping/distributed/command/TopGroupsFieldCommand.java b/solr/core/src/java/org/apache/solr/search/grouping/distributed/command/TopGroupsFieldCommand.java
index c13a3b6..1410c67 100644
--- a/solr/core/src/java/org/apache/solr/search/grouping/distributed/command/TopGroupsFieldCommand.java
+++ b/solr/core/src/java/org/apache/solr/search/grouping/distributed/command/TopGroupsFieldCommand.java
@@ -183,7 +183,6 @@ public class TopGroupsFieldCommand implements Command<TopGroups<BytesRef>> {
}
@Override
- @SuppressWarnings("unchecked")
public TopGroups<BytesRef> result() throws IOException {
return topGroups;
}
diff --git a/solr/core/src/java/org/apache/solr/search/join/ChildFieldValueSourceParser.java b/solr/core/src/java/org/apache/solr/search/join/ChildFieldValueSourceParser.java
index 30be3a3..b46eeda 100644
--- a/solr/core/src/java/org/apache/solr/search/join/ChildFieldValueSourceParser.java
+++ b/solr/core/src/java/org/apache/solr/search/join/ChildFieldValueSourceParser.java
@@ -150,7 +150,7 @@ public class ChildFieldValueSourceParser extends ValueSourceParser {
}
@Override
- public FunctionValues getValues(@SuppressWarnings("rawtypes") Map context,
+ public FunctionValues getValues(Map<Object, Object> context,
LeafReaderContext readerContext) throws IOException {
throw new UnsupportedOperationException(this + " is only for sorting");
}
diff --git a/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java b/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java
index 548b00d..892230e 100644
--- a/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java
+++ b/solr/core/src/java/org/apache/solr/servlet/HttpSolrCall.java
@@ -1198,9 +1198,8 @@ public class HttpSolrCall {
return null;
}
- @SuppressWarnings({"unchecked"})
protected Map<String, JsonSchemaValidator> getValidators(){
- return Collections.EMPTY_MAP;
+ return Collections.emptyMap();
}
/**
diff --git a/solr/core/src/java/org/apache/solr/servlet/cache/HttpCacheHeaderUtil.java b/solr/core/src/java/org/apache/solr/servlet/cache/HttpCacheHeaderUtil.java
index dc54fc9..2ecd643 100644
--- a/solr/core/src/java/org/apache/solr/servlet/cache/HttpCacheHeaderUtil.java
+++ b/solr/core/src/java/org/apache/solr/servlet/cache/HttpCacheHeaderUtil.java
@@ -233,7 +233,6 @@ public final class HttpCacheHeaderUtil {
*
* @return true if no request processing is necessary and HTTP response status has been set, false otherwise.
*/
- @SuppressWarnings("unchecked")
public static boolean checkETagValidators(final HttpServletRequest req,
final HttpServletResponse resp,
final Method reqMethod,
diff --git a/solr/core/src/java/org/apache/solr/spelling/suggest/SolrSuggester.java b/solr/core/src/java/org/apache/solr/spelling/suggest/SolrSuggester.java
index d31cf21..d1d6a8e 100644
--- a/solr/core/src/java/org/apache/solr/spelling/suggest/SolrSuggester.java
+++ b/solr/core/src/java/org/apache/solr/spelling/suggest/SolrSuggester.java
@@ -99,7 +99,6 @@ public class SolrSuggester implements Accountable {
* Uses the <code>config</code> and the <code>core</code> to initialize the underlying
* Lucene suggester
* */
- @SuppressWarnings({"unchecked"})
public String init(NamedList<?> config, SolrCore core) {
log.info("init: {}", config);
@@ -116,7 +115,7 @@ public class SolrSuggester implements Accountable {
log.info("No {} parameter was provided falling back to {}", LOOKUP_IMPL, lookupImpl);
}
- contextFilterQueryAnalyzer = new TokenizerChain(new StandardTokenizerFactory(Collections.EMPTY_MAP), null);
+ contextFilterQueryAnalyzer = new TokenizerChain(new StandardTokenizerFactory(Collections.emptyMap()), null);
// initialize appropriate lookup instance
factory = core.getResourceLoader().newInstance(lookupImpl, LookupFactory.class);
diff --git a/solr/core/src/java/org/apache/solr/update/IndexFingerprint.java b/solr/core/src/java/org/apache/solr/update/IndexFingerprint.java
index 8e5af2a..bb1be0d 100644
--- a/solr/core/src/java/org/apache/solr/update/IndexFingerprint.java
+++ b/solr/core/src/java/org/apache/solr/update/IndexFingerprint.java
@@ -186,7 +186,7 @@ public class IndexFingerprint implements MapSerializable {
return map;
}
- private static long getLong(@SuppressWarnings({"rawtypes"})Map m, String key, long def) {
+ private static long getLong(Map<String, Object> m, String key, long def) {
Object oval = m.get(key);
return oval != null ? ((Number)oval).longValue() : def;
}
@@ -194,14 +194,14 @@ public class IndexFingerprint implements MapSerializable {
/**
* Create an IndexFingerprint object from a deserialized generic object (Map or NamedList)
*/
+ @SuppressWarnings("unchecked")
public static IndexFingerprint fromObject(Object o) {
if (o instanceof IndexFingerprint) return (IndexFingerprint) o;
- @SuppressWarnings({"rawtypes"})
- Map map = null;
+ Map<String, Object> map = null;
if (o instanceof Map) {
- map = (Map) o;
+ map = (Map<String,Object>) o;
} else if (o instanceof NamedList) {
- map = ((NamedList) o).asShallowMap();
+ map = ((NamedList<Object>) o).asShallowMap();
} else {
throw new SolrException(SolrException.ErrorCode.SERVER_ERROR, "Unknown type " + o);
}
diff --git a/solr/core/src/java/org/apache/solr/update/SolrIndexConfig.java b/solr/core/src/java/org/apache/solr/update/SolrIndexConfig.java
index a364757..1310903 100644
--- a/solr/core/src/java/org/apache/solr/update/SolrIndexConfig.java
+++ b/solr/core/src/java/org/apache/solr/update/SolrIndexConfig.java
@@ -32,7 +32,6 @@ import org.apache.lucene.index.MergeScheduler;
import org.apache.lucene.search.Sort;
import org.apache.lucene.util.InfoStream;
import org.apache.solr.common.util.NamedList;
-import org.apache.solr.common.util.Utils;
import org.apache.solr.core.DirectoryFactory;
import org.apache.solr.common.MapSerializable;
import org.apache.solr.core.PluginInfo;
@@ -196,23 +195,27 @@ public class SolrIndexConfig implements MapSerializable {
@Override
public Map<String, Object> toMap(Map<String, Object> map) {
- Map<String, Object> m = Utils.makeMap("useCompoundFile", useCompoundFile,
- "maxBufferedDocs", maxBufferedDocs,
- "ramBufferSizeMB", ramBufferSizeMB,
- "ramPerThreadHardLimitMB", ramPerThreadHardLimitMB,
- "maxCommitMergeWaitTime", maxCommitMergeWaitMillis,
- "writeLockTimeout", writeLockTimeout,
- "lockType", lockType,
- "infoStreamEnabled", infoStream != InfoStream.NO_OUTPUT);
- if(mergeSchedulerInfo != null) m.put("mergeScheduler",mergeSchedulerInfo);
+ map.put("useCompoundFile", useCompoundFile);
+ map.put("maxBufferedDocs", maxBufferedDocs);
+ map.put("ramBufferSizeMB", ramBufferSizeMB);
+ map.put("ramPerThreadHardLimitMB", ramPerThreadHardLimitMB);
+ map.put("maxCommitMergeWaitTime", maxCommitMergeWaitMillis);
+ map.put("writeLockTimeout", writeLockTimeout);
+ map.put("lockType", lockType);
+ map.put("infoStreamEnabled", infoStream != InfoStream.NO_OUTPUT);
+ if(mergeSchedulerInfo != null) {
+ map.put("mergeScheduler",mergeSchedulerInfo);
+ }
if (metricsInfo != null) {
- m.put("metrics", metricsInfo);
+ map.put("metrics", metricsInfo);
}
if (mergePolicyFactoryInfo != null) {
- m.put("mergePolicyFactory", mergePolicyFactoryInfo);
+ map.put("mergePolicyFactory", mergePolicyFactoryInfo);
+ }
+ if(mergedSegmentWarmerInfo != null) {
+ map.put("mergedSegmentWarmer",mergedSegmentWarmerInfo);
}
- if(mergedSegmentWarmerInfo != null) m.put("mergedSegmentWarmer",mergedSegmentWarmerInfo);
- return m;
+ return map;
}
private PluginInfo getPluginInfo(String path, SolrConfig solrConfig, PluginInfo def) {
@@ -267,11 +270,10 @@ public class SolrIndexConfig implements MapSerializable {
if (mergedSegmentWarmerInfo != null) {
// TODO: add infostream -> normal logging system (there is an issue somewhere)
- @SuppressWarnings({"rawtypes"})
IndexReaderWarmer warmer = core.getResourceLoader().newInstance(mergedSegmentWarmerInfo.className,
IndexReaderWarmer.class,
null,
- new Class[] { InfoStream.class },
+ new Class<?>[] { InfoStream.class },
new Object[] { iwc.getInfoStream() });
iwc.setMergedSegmentWarmer(warmer);
}
@@ -300,7 +302,7 @@ public class SolrIndexConfig implements MapSerializable {
mpfClassName,
MergePolicyFactory.class,
NO_SUB_PACKAGES,
- new Class[] { SolrResourceLoader.class, MergePolicyFactoryArgs.class, IndexSchema.class },
+ new Class<?>[] { SolrResourceLoader.class, MergePolicyFactoryArgs.class, IndexSchema.class },
new Object[] {resourceLoader, mpfArgs, schema });
return mpf.getMergePolicy();
diff --git a/solr/core/src/java/org/apache/solr/update/UpdateLog.java b/solr/core/src/java/org/apache/solr/update/UpdateLog.java
index 2b021f3..1fe33ec 100644
--- a/solr/core/src/java/org/apache/solr/update/UpdateLog.java
+++ b/solr/core/src/java/org/apache/solr/update/UpdateLog.java
@@ -210,9 +210,9 @@ public class UpdateLog implements PluginInfoInitialized, SolrMetricProducer {
protected boolean existOldBufferLog = false;
// keep track of deletes only... this is not updated on an add
- protected LinkedHashMap<BytesRef, LogPtr> oldDeletes = new LinkedHashMap<BytesRef, LogPtr>(numDeletesToKeep) {
+ protected LinkedHashMap<BytesRef, LogPtr> oldDeletes = new LinkedHashMap<>(numDeletesToKeep) {
@Override
- protected boolean removeEldestEntry(@SuppressWarnings({"rawtypes"})Map.Entry eldest) {
+ protected boolean removeEldestEntry(Map.Entry<BytesRef, LogPtr> eldest) {
return size() > numDeletesToKeep;
}
};
diff --git a/solr/core/src/java/org/apache/solr/update/processor/AbstractDefaultValueUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/AbstractDefaultValueUpdateProcessorFactory.java
index 89f6af6..3268e14 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/AbstractDefaultValueUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/AbstractDefaultValueUpdateProcessorFactory.java
@@ -44,7 +44,6 @@ public abstract class AbstractDefaultValueUpdateProcessorFactory
protected String fieldName = null;
- @SuppressWarnings("unchecked")
@Override
public void init(@SuppressWarnings({"rawtypes"})NamedList args) {
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 bb98036..3c6c643 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
@@ -523,7 +523,6 @@ public class AtomicUpdateDocumentMerger {
final String name = sif.getName();
SolrInputField existingField = toDoc.get(name);
if (existingField == null) return;
- @SuppressWarnings({"rawtypes"})
final Collection<Object> original = existingField.getValues();
if (fieldVal instanceof Collection) {
for (Object object : (Collection) fieldVal) {
@@ -616,7 +615,7 @@ public class AtomicUpdateDocumentMerger {
}
}
- private void removeFieldValueWithNumericFudging(String fieldName, @SuppressWarnings({"rawtypes"}) Collection<Object> original, Object toRemove) {
+ private void removeFieldValueWithNumericFudging(String fieldName, Collection<Object> original, Object toRemove) {
if (original.size() == 0) {
return;
}
diff --git a/solr/core/src/java/org/apache/solr/update/processor/AtomicUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/AtomicUpdateProcessorFactory.java
index a10a041..ac5505d 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/AtomicUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/AtomicUpdateProcessorFactory.java
@@ -72,7 +72,7 @@ public class AtomicUpdateProcessorFactory extends UpdateRequestProcessorFactory
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
- @SuppressWarnings({"static-access", "rawtypes", "null"})
+ @SuppressWarnings({"rawtypes", "null"})
@Override
public void init(final NamedList args) {
@@ -116,7 +116,6 @@ public class AtomicUpdateProcessorFactory extends UpdateRequestProcessorFactory
* will be treated as conventional updates.
* 4. retry when encounter version conflict
*/
- @SuppressWarnings("unchecked")
@Override
public void processAdd(AddUpdateCommand cmd)
throws IOException {
diff --git a/solr/core/src/java/org/apache/solr/update/processor/CloneFieldUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/CloneFieldUpdateProcessorFactory.java
index 11fe324..d8e4741 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/CloneFieldUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/CloneFieldUpdateProcessorFactory.java
@@ -196,7 +196,6 @@ public class CloneFieldUpdateProcessorFactory
" inform(SolrCore) never called???");
}
- @SuppressWarnings("unchecked")
@Override
public void init(@SuppressWarnings({"rawtypes"})NamedList args) {
@@ -226,7 +225,6 @@ public class CloneFieldUpdateProcessorFactory
* init helper method that should only be called when we know for certain that both the
* "source" and "dest" init params do <em>not</em> exist.
*/
- @SuppressWarnings("unchecked")
private void initSimpleRegexReplacement(@SuppressWarnings({"rawtypes"})NamedList args) {
// The syntactic sugar for the case where there is only one regex pattern for source and the same pattern
// is used for the destination pattern...
diff --git a/solr/core/src/java/org/apache/solr/update/processor/ConcatFieldUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/ConcatFieldUpdateProcessorFactory.java
index d20d3b5..4c40edd 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/ConcatFieldUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/ConcatFieldUpdateProcessorFactory.java
@@ -65,7 +65,6 @@ public final class ConcatFieldUpdateProcessorFactory extends FieldMutatingUpdate
String delimiter = ", ";
- @SuppressWarnings("unchecked")
@Override
public void init(@SuppressWarnings({"rawtypes"})NamedList args) {
Object d = args.remove("delimiter");
diff --git a/solr/core/src/java/org/apache/solr/update/processor/DefaultValueUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/DefaultValueUpdateProcessorFactory.java
index 55ec6cc..776356d 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/DefaultValueUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/DefaultValueUpdateProcessorFactory.java
@@ -52,7 +52,6 @@ public class DefaultValueUpdateProcessorFactory
protected Object defaultValue = null;
- @SuppressWarnings("unchecked")
@Override
public void init(@SuppressWarnings({"rawtypes"})NamedList args) {
diff --git a/solr/core/src/java/org/apache/solr/update/processor/DistributedZkUpdateProcessor.java b/solr/core/src/java/org/apache/solr/update/processor/DistributedZkUpdateProcessor.java
index ece4f53..fd475ac 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/DistributedZkUpdateProcessor.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/DistributedZkUpdateProcessor.java
@@ -936,7 +936,7 @@ public class DistributedZkUpdateProcessor extends DistributedUpdateProcessor {
if (ruleExpiryLock.tryLock(10, TimeUnit.MILLISECONDS)) {
log.info("Going to expire routing rule");
try {
- Map<String, Object> map = Utils.makeMap(Overseer.QUEUE_OPERATION, OverseerAction.REMOVEROUTINGRULE.toLower(),
+ Map<String, Object> map = Map.of(Overseer.QUEUE_OPERATION, OverseerAction.REMOVEROUTINGRULE.toLower(),
ZkStateReader.COLLECTION_PROP, collection,
ZkStateReader.SHARD_ID_PROP, myShardId,
"routeKey", routeKey + "!");
diff --git a/solr/core/src/java/org/apache/solr/update/processor/DocExpirationUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/DocExpirationUpdateProcessorFactory.java
index 90edc57..c0a4025 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/DocExpirationUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/DocExpirationUpdateProcessorFactory.java
@@ -209,7 +209,6 @@ public final class DocExpirationUpdateProcessorFactory
throw confErr(arg + " " + errMsg);
}
- @SuppressWarnings("unchecked")
@Override
public void init(@SuppressWarnings({"rawtypes"})NamedList args) {
diff --git a/solr/core/src/java/org/apache/solr/update/processor/FieldLengthUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/FieldLengthUpdateProcessorFactory.java
index 2189f9d..f432c73 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/FieldLengthUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/FieldLengthUpdateProcessorFactory.java
@@ -51,7 +51,6 @@ import static org.apache.solr.update.processor.FieldValueMutatingUpdateProcessor
*/
public final class FieldLengthUpdateProcessorFactory extends FieldMutatingUpdateProcessorFactory {
- @SuppressWarnings("unchecked")
@Override
public void init(@SuppressWarnings({"rawtypes"})NamedList args) {
// no length specific init args
diff --git a/solr/core/src/java/org/apache/solr/update/processor/FieldMutatingUpdateProcessor.java b/solr/core/src/java/org/apache/solr/update/processor/FieldMutatingUpdateProcessor.java
index ed43b32..bea1fb5 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/FieldMutatingUpdateProcessor.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/FieldMutatingUpdateProcessor.java
@@ -209,15 +209,13 @@ public abstract class FieldMutatingUpdateProcessor
private static final class ConfigurableFieldNameSelectorHelper {
final SelectorParams params;
- @SuppressWarnings({"rawtypes"})
- final Collection<Class> classes;
+ final Collection<Class<?>> classes;
private ConfigurableFieldNameSelectorHelper(final SolrResourceLoader loader,
final SelectorParams params) {
this.params = params;
- @SuppressWarnings({"rawtypes"})
- final Collection<Class> classes = new ArrayList<>(params.typeClass.size());
+ final Collection<Class<?>> classes = new ArrayList<>(params.typeClass.size());
for (String t : params.typeClass) {
try {
@@ -269,9 +267,8 @@ public abstract class FieldMutatingUpdateProcessor
* returns true if the Object 'o' is an instance of any class in
* the Collection
*/
- private static boolean instanceOfAny(Object o,
- @SuppressWarnings({"rawtypes"})Collection<Class> classes) {
- for (@SuppressWarnings({"rawtypes"})Class c : classes) {
+ private static boolean instanceOfAny(Object o, Collection<Class<?>> classes) {
+ for (Class<?> c : classes) {
if ( c.isInstance(o) ) return true;
}
return false;
diff --git a/solr/core/src/java/org/apache/solr/update/processor/FieldMutatingUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/FieldMutatingUpdateProcessorFactory.java
index 9e316df..a86f792 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/FieldMutatingUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/FieldMutatingUpdateProcessorFactory.java
@@ -206,7 +206,6 @@ public abstract class FieldMutatingUpdateProcessorFactory
* Will error if any unexpected init args are found, so subclasses should
* remove any subclass-specific init args before calling this method.
*/
- @SuppressWarnings("unchecked")
@Override
public void init(@SuppressWarnings({"rawtypes"})NamedList args) {
diff --git a/solr/core/src/java/org/apache/solr/update/processor/RegexReplaceProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/RegexReplaceProcessorFactory.java
index edeb43d..1022025 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/RegexReplaceProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/RegexReplaceProcessorFactory.java
@@ -77,7 +77,6 @@ public final class RegexReplaceProcessorFactory extends FieldMutatingUpdateProce
// by default, literalReplacementEnabled is set to true to allow backward compatibility
private boolean literalReplacementEnabled = true;
- @SuppressWarnings("unchecked")
@Override
public void init(@SuppressWarnings({"rawtypes"})NamedList args) {
diff --git a/solr/core/src/java/org/apache/solr/update/processor/RemoveBlankFieldUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/RemoveBlankFieldUpdateProcessorFactory.java
index baf3d89..91585c9 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/RemoveBlankFieldUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/RemoveBlankFieldUpdateProcessorFactory.java
@@ -47,7 +47,6 @@ import static org.apache.solr.update.processor.FieldValueMutatingUpdateProcessor
*/
public final class RemoveBlankFieldUpdateProcessorFactory extends FieldMutatingUpdateProcessorFactory {
- @SuppressWarnings("unchecked")
@Override
public void init(@SuppressWarnings({"rawtypes"})NamedList args) {
// no trim specific init args
diff --git a/solr/core/src/java/org/apache/solr/update/processor/TrimFieldUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/TrimFieldUpdateProcessorFactory.java
index ab37d39..810ef67 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/TrimFieldUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/TrimFieldUpdateProcessorFactory.java
@@ -45,7 +45,6 @@ import static org.apache.solr.update.processor.FieldValueMutatingUpdateProcessor
*/
public final class TrimFieldUpdateProcessorFactory extends FieldMutatingUpdateProcessorFactory {
- @SuppressWarnings("unchecked")
@Override
public void init(@SuppressWarnings({"rawtypes"})NamedList args) {
// no trim specific init args
diff --git a/solr/core/src/java/org/apache/solr/update/processor/TruncateFieldUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/TruncateFieldUpdateProcessorFactory.java
index f97e658..1579eb8 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/TruncateFieldUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/TruncateFieldUpdateProcessorFactory.java
@@ -52,7 +52,6 @@ public final class TruncateFieldUpdateProcessorFactory
private int maxLength = 0;
- @SuppressWarnings("unchecked")
@Override
public void init(@SuppressWarnings({"rawtypes"})NamedList args) {
diff --git a/solr/core/src/java/org/apache/solr/update/processor/UUIDUpdateProcessorFactory.java b/solr/core/src/java/org/apache/solr/update/processor/UUIDUpdateProcessorFactory.java
index 03e8d83..fc3ad14 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/UUIDUpdateProcessorFactory.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/UUIDUpdateProcessorFactory.java
@@ -76,7 +76,6 @@ public class UUIDUpdateProcessorFactory extends UpdateRequestProcessorFactory {
protected String fieldName = null;
- @SuppressWarnings("unchecked")
public void init(@SuppressWarnings({"rawtypes"})NamedList args) {
Object obj = args.remove(FIELD_PARAM);
diff --git a/solr/core/src/java/org/apache/solr/update/processor/UpdateRequestProcessorChain.java b/solr/core/src/java/org/apache/solr/update/processor/UpdateRequestProcessorChain.java
index c05822e..76b9d55 100644
--- a/solr/core/src/java/org/apache/solr/update/processor/UpdateRequestProcessorChain.java
+++ b/solr/core/src/java/org/apache/solr/update/processor/UpdateRequestProcessorChain.java
@@ -25,13 +25,11 @@ import java.util.Map;
import java.util.Objects;
import java.util.stream.Collectors;
-import com.google.common.collect.ImmutableMap;
import org.apache.solr.common.SolrException;
import org.apache.solr.common.params.MapSolrParams;
import org.apache.solr.common.params.SolrParams;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.StrUtils;
-import org.apache.solr.common.util.Utils;
import org.apache.solr.core.PluginBag;
import org.apache.solr.core.PluginInfo;
import org.apache.solr.core.SolrConfig;
@@ -278,7 +276,7 @@ public final class UpdateRequestProcessorChain implements PluginInfoInitialized
}
private static void insertBefore(LinkedList<UpdateRequestProcessorFactory> urps, List<UpdateRequestProcessorFactory> newFactories,
- @SuppressWarnings({"rawtypes"})Class klas, int idx) {
+ Class<?> klas, int idx) {
if (newFactories.isEmpty()) return;
for (int i = 0; i < urps.size(); i++) {
if (klas.isInstance(urps.get(i))) {
@@ -309,11 +307,10 @@ public final class UpdateRequestProcessorChain implements PluginInfoInitialized
p = core.getUpdateProcessors().get(s);
}
if (p == null) {
- @SuppressWarnings({"unchecked"})
- Class<UpdateRequestProcessorFactory> factoryClass = implicits.get(s);
+ Class<? extends UpdateRequestProcessorFactory> factoryClass = implicits.get(s);
if(factoryClass != null) {
PluginInfo pluginInfo = new PluginInfo("updateProcessor",
- Utils.makeMap("name", s,
+ Map.of("name", s,
"class", factoryClass.getName()));
UpdateRequestProcessorFactory plugin = p = core.getUpdateProcessors().createPlugin(pluginInfo).get();
if (plugin instanceof SolrCoreAware) ((SolrCoreAware) plugin).inform(core);
@@ -389,11 +386,8 @@ public final class UpdateRequestProcessorChain implements PluginInfoInitialized
}
}
}
- @SuppressWarnings({"unchecked", "rawtypes"})
- public static final Map<String, Class> implicits = new ImmutableMap.Builder()
- .put(TemplateUpdateProcessorFactory.NAME, TemplateUpdateProcessorFactory.class)
- .put(AtomicUpdateProcessorFactory.NAME, AtomicUpdateProcessorFactory.class)
- .put(UUIDUpdateProcessorFactory.NAME, UUIDUpdateProcessorFactory.class)
- .build();
-
+ public static final Map<String, Class<? extends UpdateRequestProcessorFactory>> implicits = Map.of(
+ TemplateUpdateProcessorFactory.NAME, TemplateUpdateProcessorFactory.class,
+ AtomicUpdateProcessorFactory.NAME, AtomicUpdateProcessorFactory.class,
+ UUIDUpdateProcessorFactory.NAME, UUIDUpdateProcessorFactory.class);
}
diff --git a/solr/core/src/java/org/apache/solr/util/ConcurrentLRUCache.java b/solr/core/src/java/org/apache/solr/util/ConcurrentLRUCache.java
index 1eed612..93395d4 100644
--- a/solr/core/src/java/org/apache/solr/util/ConcurrentLRUCache.java
+++ b/solr/core/src/java/org/apache/solr/util/ConcurrentLRUCache.java
@@ -596,8 +596,8 @@ public class ConcurrentLRUCache<K,V> implements Cache<K,V>, Accountable {
}
@Override
- protected boolean lessThan(@SuppressWarnings({"rawtypes"})CacheEntry a,
- @SuppressWarnings({"rawtypes"})CacheEntry b) {
+ protected boolean lessThan(CacheEntry<K,V> a,
+ CacheEntry<K,V> b) {
// reverse the parameter order so that the queue keeps the oldest items
return b.lastAccessedCopy < a.lastAccessedCopy;
}
diff --git a/solr/core/src/java/org/apache/solr/util/SolrCLI.java b/solr/core/src/java/org/apache/solr/util/SolrCLI.java
index 9242b5b..7cc2ed3 100755
--- a/solr/core/src/java/org/apache/solr/util/SolrCLI.java
+++ b/solr/core/src/java/org/apache/solr/util/SolrCLI.java
@@ -702,7 +702,6 @@ public class SolrCLI implements CLIO {
* Utility function for sending HTTP GET request to Solr and then doing some
* validation of the response.
*/
- @SuppressWarnings({"unchecked"})
public static Map<String,Object> getJson(HttpClient httpClient, String getUrl) throws Exception {
try {
// ensure we're requesting JSON back from Solr
diff --git a/solr/core/src/java/org/apache/solr/util/SolrLogLayout.java b/solr/core/src/java/org/apache/solr/util/SolrLogLayout.java
index 0280eee..ded3a54 100644
--- a/solr/core/src/java/org/apache/solr/util/SolrLogLayout.java
+++ b/solr/core/src/java/org/apache/solr/util/SolrLogLayout.java
@@ -237,7 +237,6 @@ public class SolrLogLayout extends AbstractStringLayout {
return sb.toString();
}
- @SuppressWarnings({"unchecked"})
private Map<String, Object> getReplicaProps(ZkController zkController, SolrCore core) {
final String collectionName = core.getCoreDescriptor().getCloudDescriptor().getCollectionName();
DocCollection collection = zkController.getClusterState().getCollectionOrNull(collectionName);
@@ -245,7 +244,7 @@ public class SolrLogLayout extends AbstractStringLayout {
if (replica != null) {
return replica.getProperties();
}
- return Collections.EMPTY_MAP;
+ return Collections.emptyMap();
}
private void addFirstLine(StringBuilder sb, String msg) {
diff --git a/solr/core/src/java/org/apache/solr/util/TestInjection.java b/solr/core/src/java/org/apache/solr/util/TestInjection.java
index eead921..eee966d 100644
--- a/solr/core/src/java/org/apache/solr/util/TestInjection.java
+++ b/solr/core/src/java/org/apache/solr/util/TestInjection.java
@@ -74,12 +74,10 @@ public class TestInjection {
* If non-null, then this class should be used for accessing random entropy
* @see #random
*/
- @SuppressWarnings({"rawtypes"})
- private static final Class LUCENE_TEST_CASE;
+ private static final Class<?> LUCENE_TEST_CASE;
static {
- @SuppressWarnings({"rawtypes"})
- Class nonFinalTemp = null;
+ Class<?> nonFinalTemp = null;
try {
ClassLoader classLoader = MethodHandles.lookup().lookupClass().getClassLoader();
nonFinalTemp = classLoader.loadClass(LUCENE_TEST_CASE_FQN);
@@ -99,7 +97,6 @@ public class TestInjection {
return null;
} else {
try {
- @SuppressWarnings({"unchecked"})
Method randomMethod = LUCENE_TEST_CASE.getMethod("random");
return (Random) randomMethod.invoke(null);
} catch (Exception e) {
diff --git a/solr/core/src/java/org/apache/solr/util/circuitbreaker/CircuitBreakerManager.java b/solr/core/src/java/org/apache/solr/util/circuitbreaker/CircuitBreakerManager.java
index 2f6f93d..c2b9159 100644
--- a/solr/core/src/java/org/apache/solr/util/circuitbreaker/CircuitBreakerManager.java
+++ b/solr/core/src/java/org/apache/solr/util/circuitbreaker/CircuitBreakerManager.java
@@ -135,7 +135,6 @@ public class CircuitBreakerManager implements PluginInfoInitialized {
*
* Any default circuit breakers should be registered here.
*/
- @SuppressWarnings({"rawtypes"})
public static CircuitBreakerManager build(PluginInfo pluginInfo) {
boolean enabled = pluginInfo == null ? false : Boolean.parseBoolean(pluginInfo.attributes.getOrDefault("enabled", "false"));
CircuitBreakerManager circuitBreakerManager = new CircuitBreakerManager(enabled);
diff --git a/solr/core/src/java/org/apache/solr/util/configuration/SSLCredentialProviderFactory.java b/solr/core/src/java/org/apache/solr/util/configuration/SSLCredentialProviderFactory.java
index ec1782e..f36068b 100644
--- a/solr/core/src/java/org/apache/solr/util/configuration/SSLCredentialProviderFactory.java
+++ b/solr/core/src/java/org/apache/solr/util/configuration/SSLCredentialProviderFactory.java
@@ -22,8 +22,10 @@ import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
+import java.util.Map;
import com.google.common.collect.ImmutableMap;
+import org.apache.solr.util.configuration.providers.AbstractSSLCredentialProvider;
import org.apache.solr.util.configuration.providers.EnvSSLCredentialProvider;
import org.apache.solr.util.configuration.providers.HadoopSSLCredentialProvider;
import org.apache.solr.util.configuration.providers.SysPropSSLCredentialProvider;
@@ -38,8 +40,7 @@ public class SSLCredentialProviderFactory {
public static final String DEFAULT_PROVIDER_CHAIN = "env;sysprop";
public static final String PROVIDER_CHAIN_KEY = "solr.ssl.credential.provider.chain";
- @SuppressWarnings({"rawtypes"})
- private final static ImmutableMap<String, Class> defaultProviders = ImmutableMap.of(
+ private static final Map<String, Class<? extends AbstractSSLCredentialProvider>> defaultProviders = ImmutableMap.of(
"env", EnvSSLCredentialProvider.class,
"sysprop", SysPropSSLCredentialProvider.class,
"hadoop", HadoopSSLCredentialProvider.class
diff --git a/solr/core/src/java/org/apache/solr/util/plugin/AbstractPluginLoader.java b/solr/core/src/java/org/apache/solr/util/plugin/AbstractPluginLoader.java
index 1077f14..4dc386d 100644
--- a/solr/core/src/java/org/apache/solr/util/plugin/AbstractPluginLoader.java
+++ b/solr/core/src/java/org/apache/solr/util/plugin/AbstractPluginLoader.java
@@ -84,7 +84,6 @@ public abstract class AbstractPluginLoader<T>
* @param className - class name for requested plugin. In the above example: "solr.ClassName"
* @param node - the XML node defining this plugin
*/
- @SuppressWarnings("unchecked")
protected T create(SolrClassLoader loader, String name, String className, ConfigNode node ) throws Exception
{
return loader.newInstance(className, pluginClassType, getDefaultPackages());
diff --git a/solr/core/src/java/org/apache/solr/util/stats/MetricUtils.java b/solr/core/src/java/org/apache/solr/util/stats/MetricUtils.java
index 1b7b13c..e970200 100644
--- a/solr/core/src/java/org/apache/solr/util/stats/MetricUtils.java
+++ b/solr/core/src/java/org/apache/solr/util/stats/MetricUtils.java
@@ -219,7 +219,6 @@ public class MetricUtils {
}
};
if (o instanceof MapWriter) {
- @SuppressWarnings({"unchecked"})
MapWriter writer = (MapWriter) o;
writer._forEachEntry(consumer);
} else if (o instanceof Map) {
@@ -229,7 +228,6 @@ public class MetricUtils {
consumer.accept(entry.getKey(), entry.getValue());
}
} else if (o instanceof IteratorWriter) {
- @SuppressWarnings({"unchecked"})
IteratorWriter writer = (IteratorWriter) o;
final String name = prefix != null ? prefix : "value";
try {
diff --git a/solr/core/src/test/org/apache/hadoop/http/HttpServer2.java b/solr/core/src/test/org/apache/hadoop/http/HttpServer2.java
index 274dd45..3dcbb9f 100644
--- a/solr/core/src/test/org/apache/hadoop/http/HttpServer2.java
+++ b/solr/core/src/test/org/apache/hadoop/http/HttpServer2.java
@@ -712,7 +712,6 @@ public final class HttpServer2 implements FilterContainer {
if (conf.getBoolean(
CommonConfigurationKeys.HADOOP_JETTY_LOGS_SERVE_ALIASES,
CommonConfigurationKeys.DEFAULT_HADOOP_JETTY_LOGS_SERVE_ALIASES)) {
- @SuppressWarnings("unchecked")
Map<String, String> params = logContext.getInitParams();
params.put("org.eclipse.jetty.servlet.Default.aliases", "true");
}
@@ -731,7 +730,6 @@ public final class HttpServer2 implements FilterContainer {
staticContext.setResourceBase(appDir + "/static");
staticContext.addServlet(DefaultServlet.class, "/*");
staticContext.setDisplayName("static");
- @SuppressWarnings("unchecked")
Map<String, String> params = staticContext.getInitParams();
params.put("org.eclipse.jetty.servlet.Default.dirAllowed", "false");
params.put("org.eclipse.jetty.servlet.Default.gzip", "true");
@@ -1529,7 +1527,6 @@ public final class HttpServer2 implements FilterContainer {
return result;
}
- @SuppressWarnings("unchecked")
@Override
public Map<String, String[]> getParameterMap() {
Map<String, String[]> result = new HashMap<>();
diff --git a/solr/core/src/test/org/apache/solr/TestDistributedGrouping.java b/solr/core/src/test/org/apache/solr/TestDistributedGrouping.java
index 0ed36fd..c9e61cc 100644
--- a/solr/core/src/test/org/apache/solr/TestDistributedGrouping.java
+++ b/solr/core/src/test/org/apache/solr/TestDistributedGrouping.java
@@ -45,7 +45,6 @@ import static org.hamcrest.CoreMatchers.containsString;
@SuppressPointFields(bugUrl="https://issues.apache.org/jira/browse/SOLR-10844")
public class TestDistributedGrouping extends BaseDistributedSearchTestCase {
- @SuppressWarnings({"unchecked"})
public TestDistributedGrouping() {
// SOLR-10844: Even with points suppressed, this test breaks if we (randomize) docvalues="true" on trie fields?!?!?!!?
System.setProperty(NUMERIC_DOCVALUES_SYSPROP,"false");
diff --git a/solr/core/src/test/org/apache/solr/analysis/TokenizerChainTest.java b/solr/core/src/test/org/apache/solr/analysis/TokenizerChainTest.java
index c2c45b7..fe4d39c 100644
--- a/solr/core/src/test/org/apache/solr/analysis/TokenizerChainTest.java
+++ b/solr/core/src/test/org/apache/solr/analysis/TokenizerChainTest.java
@@ -29,14 +29,13 @@ import org.junit.Test;
public class TokenizerChainTest extends SolrTestCaseJ4 {
@Test
- @SuppressWarnings({"unchecked"})
public void testNormalization() throws Exception {
String fieldName = "f";
TokenFilterFactory[] tff = new TokenFilterFactory[2];
- tff[0] = new LowerCaseFilterFactory(Collections.EMPTY_MAP);
- tff[1] = new ASCIIFoldingFilterFactory(Collections.EMPTY_MAP);
+ tff[0] = new LowerCaseFilterFactory(Collections.emptyMap());
+ tff[1] = new ASCIIFoldingFilterFactory(Collections.emptyMap());
TokenizerChain tokenizerChain = new TokenizerChain(
- new MockTokenizerFactory(Collections.EMPTY_MAP),
+ new MockTokenizerFactory(Collections.emptyMap()),
tff);
assertEquals(new BytesRef("fooba"),
tokenizerChain.normalize(fieldName, "FOOB\u00c4"));
diff --git a/solr/core/src/test/org/apache/solr/cloud/DistribDocExpirationUpdateProcessorTest.java b/solr/core/src/test/org/apache/solr/cloud/DistribDocExpirationUpdateProcessorTest.java
index 027af11..d11546a 100644
--- a/solr/core/src/test/org/apache/solr/cloud/DistribDocExpirationUpdateProcessorTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/DistribDocExpirationUpdateProcessorTest.java
@@ -25,7 +25,6 @@ import java.util.Map;
import java.util.Set;
import java.util.concurrent.TimeUnit;
-import static java.util.Collections.singletonMap;
import static java.util.Collections.singletonList;
import org.apache.lucene.util.LuceneTestCase.Slow;
@@ -99,15 +98,15 @@ public class DistribDocExpirationUpdateProcessorTest extends SolrCloudTestCase {
COLLECTION += "_secure";
final String SECURITY_JSON = Utils.toJSONString
- (Utils.makeMap("authorization",
- Utils.makeMap("class", RuleBasedAuthorizationPlugin.class.getName(),
- "user-role", singletonMap(USER,"admin"),
- "permissions", singletonList(Utils.makeMap("name","all",
+ (Map.of("authorization",
+ Map.of("class", RuleBasedAuthorizationPlugin.class.getName(),
+ "user-role", Map.of(USER,"admin"),
+ "permissions", singletonList(Map.of("name","all",
"role","admin"))),
"authentication",
- Utils.makeMap("class", BasicAuthPlugin.class.getName(),
+ Map.of("class", BasicAuthPlugin.class.getName(),
"blockUnknown",true,
- "credentials", singletonMap(USER, getSaltedHashedValue(PASS)))));
+ "credentials", Map.of(USER, getSaltedHashedValue(PASS)))));
b.withSecurityJson(SECURITY_JSON);
}
b.configure();
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 ab6ac68..ef869c9 100644
--- a/solr/core/src/test/org/apache/solr/cloud/OverseerCollectionConfigSetProcessorTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/OverseerCollectionConfigSetProcessorTest.java
@@ -593,7 +593,7 @@ public class OverseerCollectionConfigSetProcessorTest extends SolrTestCaseJ4 {
protected void issueCreateJob(Integer numberOfSlices,
Integer replicationFactor, List<String> createNodeList, boolean sendCreateNodeList, boolean createNodeSetShuffle) {
Map<String,Object> propMap = Utils.makeMap(
- Overseer.QUEUE_OPERATION, CollectionParams.CollectionAction.CREATE.toLower(),
+ (Object) Overseer.QUEUE_OPERATION, CollectionParams.CollectionAction.CREATE.toLower(),
ZkStateReader.REPLICATION_FACTOR, replicationFactor.toString(),
"name", COLLECTION_NAME,
"collection.configName", CONFIG_NAME,
diff --git a/solr/core/src/test/org/apache/solr/cloud/ReplaceNodeTest.java b/solr/core/src/test/org/apache/solr/cloud/ReplaceNodeTest.java
index 163cc42..7c0d165 100644
--- a/solr/core/src/test/org/apache/solr/cloud/ReplaceNodeTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/ReplaceNodeTest.java
@@ -193,7 +193,6 @@ public class ReplaceNodeTest extends SolrCloudTestCase {
if (!metrics.containsKey("REPLICATION./replication.fetcher")) {
continue;
}
- @SuppressWarnings("unchecked")
MetricsMap fetcherGauge = (MetricsMap) ((SolrMetricManager.GaugeWrapper<?>) metrics.get("REPLICATION./replication.fetcher")).getGauge();
assertNotNull("no IndexFetcher gauge in metrics", fetcherGauge);
Map<String, Object> value = fetcherGauge.getValue();
diff --git a/solr/core/src/test/org/apache/solr/cloud/RouteFieldTest.java b/solr/core/src/test/org/apache/solr/cloud/RouteFieldTest.java
index 4a30af1..a3c1856 100644
--- a/solr/core/src/test/org/apache/solr/cloud/RouteFieldTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/RouteFieldTest.java
@@ -38,9 +38,9 @@ import java.io.IOException;
import java.lang.invoke.MethodHandles;
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
import static org.apache.solr.client.solrj.response.schema.SchemaResponse.*;
-import static org.apache.solr.common.util.Utils.makeMap;
public class RouteFieldTest extends SolrCloudTestCase {
@@ -72,8 +72,8 @@ public class RouteFieldTest extends SolrCloudTestCase {
.process(cluster.getSolrClient()).getStatus());
List<SchemaRequest.Update> updateList = new ArrayList<>();
- updateList.add(new SchemaRequest.AddField(makeMap("name", ROUTE_FIELD, "type", "string", "indexed", "true", "stored", "true")));
- updateList.add(new SchemaRequest.AddField(makeMap("name", "sorter", "type", "int", "indexed", "true", "stored", "true")));
+ updateList.add(new SchemaRequest.AddField(Map.of("name", ROUTE_FIELD, "type", "string", "indexed", "true", "stored", "true")));
+ updateList.add(new SchemaRequest.AddField(Map.of("name", "sorter", "type", "int", "indexed", "true", "stored", "true")));
SchemaRequest.MultiUpdate multiUpdateRequest = new SchemaRequest.MultiUpdate(updateList);
UpdateResponse multipleUpdatesResponse = multiUpdateRequest.process(cluster.getSolrClient(), COLL_ROUTE);
assertNull("Error adding fields", multipleUpdatesResponse.getResponse().get("errors"));
diff --git a/solr/core/src/test/org/apache/solr/cloud/SSLMigrationTest.java b/solr/core/src/test/org/apache/solr/cloud/SSLMigrationTest.java
index c2566a7..2d09ac6 100644
--- a/solr/core/src/test/org/apache/solr/cloud/SSLMigrationTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/SSLMigrationTest.java
@@ -22,7 +22,6 @@ import org.apache.lucene.util.LuceneTestCase.Slow;
import org.apache.lucene.util.LuceneTestCase.AwaitsFix;
import org.apache.solr.SolrTestCaseJ4.SuppressSSL;
import org.apache.solr.client.solrj.SolrClient;
-import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.embedded.JettyConfig;
import org.apache.solr.client.solrj.embedded.JettySolrRunner;
import org.apache.solr.client.solrj.impl.HttpClientUtil;
@@ -43,8 +42,6 @@ import java.util.Locale;
import java.util.Map;
import java.util.Properties;
-import static org.apache.solr.common.util.Utils.makeMap;
-
/**
* We want to make sure that when migrating between http and https modes the
* replicas will not be rejoined as new nodes, but rather take off where it left
@@ -118,16 +115,13 @@ public class SSLMigrationTest extends AbstractFullDistribZkTestBase {
}
private void setUrlScheme(String value) throws Exception {
- @SuppressWarnings("rawtypes")
- Map m = makeMap("action", CollectionAction.CLUSTERPROP.toString()
+ Map<String, String> m = Map.of("action", CollectionAction.CLUSTERPROP.toString()
.toLowerCase(Locale.ROOT), "name", "urlScheme", "val", value);
- @SuppressWarnings("unchecked")
SolrParams params = new MapSolrParams(m);
- @SuppressWarnings({"rawtypes"})
- SolrRequest request = new QueryRequest(params);
+ QueryRequest request = new QueryRequest(params);
request.setPath("/admin/collections");
- List<String> urls = new ArrayList<String>();
+ List<String> urls = new ArrayList<>();
for(Replica replica : getReplicas()) {
urls.add(replica.getStr(ZkStateReader.BASE_URL_PROP));
}
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPIShareSchema.java b/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPIShareSchema.java
index 1d93e2f..8d0b84a 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPIShareSchema.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestConfigSetsAPIShareSchema.java
@@ -61,7 +61,6 @@ public class TestConfigSetsAPIShareSchema extends SolrCloudTestCase {
}
@Test
- @SuppressWarnings({"unchecked"})
public void testSharedSchema() throws Exception {
CollectionAdminRequest.createCollection("col1", "cShare", 1, 1)
.processAndWait(cluster.getSolrClient(), DEFAULT_TIMEOUT);
@@ -81,7 +80,7 @@ public class TestConfigSetsAPIShareSchema extends SolrCloudTestCase {
// change col1's configSet
CollectionAdminRequest.modifyCollection("col1",
- map("collection.configName", "conf1") // from cShare
+ map("collection.configName", (Object) "conf1") // from cShare
).processAndWait(cluster.getSolrClient(), DEFAULT_TIMEOUT);
try (SolrCore coreCol1 = coreContainer.getCore("col1_shard1_replica_n1");
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestHashPartitioner.java b/solr/core/src/test/org/apache/solr/cloud/TestHashPartitioner.java
index 2188f6b..55e69fa 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestHashPartitioner.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestHashPartitioner.java
@@ -267,7 +267,6 @@ public class TestHashPartitioner extends SolrTestCaseJ4 {
- @SuppressWarnings({"unchecked"})
DocCollection createCollection(int nSlices, DocRouter router) {
List<Range> ranges = router.partitionRange(nSlices, router.fullRange());
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestSSLRandomization.java b/solr/core/src/test/org/apache/solr/cloud/TestSSLRandomization.java
index 23a453f..42cbb73 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestSSLRandomization.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestSSLRandomization.java
@@ -139,7 +139,7 @@ public class TestSSLRandomization extends SolrCloudTestCase {
// for some cases, we know exactly what the config should be regardless of randomization factors
SSLTestConfig conf;
- for (@SuppressWarnings({"rawtypes"})Class c : Arrays.asList(FullyAnnotated.class, InheritedFullyAnnotated.class,
+ for (Class<?> c : Arrays.asList(FullyAnnotated.class, InheritedFullyAnnotated.class,
GrandchildInheritedEmptyAnnotatationWithOverride.class )) {
r = SSLRandomizer.getSSLRandomizerForClass(c);
assertEquals(c.toString(), 0.42D, r.ssl, 0.0D);
@@ -147,17 +147,17 @@ public class TestSSLRandomization extends SolrCloudTestCase {
assertTrue(c.toString(), r.debug.contains("foo"));
}
- for (@SuppressWarnings({"rawtypes"})Class c : Arrays.asList(NotAnnotated.class, InheritedNotAnnotated.class)) {
+ for (Class<?> c : Arrays.asList(NotAnnotated.class, InheritedNotAnnotated.class)) {
r = SSLRandomizer.getSSLRandomizerForClass(c);
assertEquals(c.toString(), 0.0D, r.ssl, 0.0D);
assertEquals(c.toString(), 0.0D, r.clientAuth, 0.0D);
assertTrue(c.toString(), r.debug.contains("not specified"));
conf = r.createSSLTestConfig();
- assertEquals(c.toString(), false, conf.isSSLMode());
- assertEquals(c.toString(), false, conf.isClientAuthMode());
+ assertFalse(c.toString(), conf.isSSLMode());
+ assertFalse(c.toString(), conf.isClientAuthMode());
}
- for (@SuppressWarnings({"rawtypes"})Class c : Arrays.asList(Suppressed.class,
+ for (Class<?> c : Arrays.asList(Suppressed.class,
InheritedSuppressed.class,
InheritedAnnotationButSuppressed.class,
InheritedSuppressedWithIgnoredAnnotation.class)) {
@@ -167,17 +167,17 @@ public class TestSSLRandomization extends SolrCloudTestCase {
assertTrue(c.toString(), r.debug.contains("SuppressSSL"));
assertTrue(c.toString(), r.debug.contains("fakeBugUrl"));
conf = r.createSSLTestConfig();
- assertEquals(c.toString(), false, conf.isSSLMode());
- assertEquals(c.toString(), false, conf.isClientAuthMode());
+ assertFalse(c.toString(), conf.isSSLMode());
+ assertFalse(c.toString(), conf.isClientAuthMode());
}
- for (@SuppressWarnings({"rawtypes"})Class c : Arrays.asList(EmptyAnnotated.class, InheritedEmptyAnnotated.class)) {
+ for (Class<?> c : Arrays.asList(EmptyAnnotated.class, InheritedEmptyAnnotated.class)) {
r = SSLRandomizer.getSSLRandomizerForClass(c);
assertEquals(c.toString(), RandomizeSSL.DEFAULT_ODDS, r.ssl, 0.0D);
assertEquals(c.toString(), RandomizeSSL.DEFAULT_ODDS, r.clientAuth, 0.0D);
}
- for (@SuppressWarnings({"rawtypes"})Class c : Arrays.asList(SimplyAnnotated.class, InheritedEmptyAnnotatationWithOverride.class)) {
+ for (Class<?> c : Arrays.asList(SimplyAnnotated.class, InheritedEmptyAnnotatationWithOverride.class)) {
r = SSLRandomizer.getSSLRandomizerForClass(c);
assertEquals(c.toString(), 0.5D, r.ssl, 0.0D);
assertEquals(c.toString(), 0.5D, r.clientAuth, 0.0D);
@@ -187,15 +187,15 @@ public class TestSSLRandomization extends SolrCloudTestCase {
assertEquals(0.0D, r.ssl, 0.0D);
assertEquals(0.0D, r.clientAuth, 0.0D);
conf = r.createSSLTestConfig();
- assertEquals(false, conf.isSSLMode());
- assertEquals(false, conf.isClientAuthMode());
+ assertFalse(conf.isSSLMode());
+ assertFalse(conf.isClientAuthMode());
r = SSLRandomizer.getSSLRandomizerForClass(MaxAnnotated.class);
assertEquals(1.0D, r.ssl, 0.0D);
assertEquals(1.0D, r.clientAuth, 0.0D);
conf = r.createSSLTestConfig();
- assertEquals(true, conf.isSSLMode());
- assertEquals(true, conf.isClientAuthMode());
+ assertTrue(conf.isSSLMode());
+ assertTrue(conf.isClientAuthMode());
r = SSLRandomizer.getSSLRandomizerForClass(SSlButNoClientAuthAnnotated.class);
assertEquals(0.42D, r.ssl, 0.0D);
@@ -205,7 +205,7 @@ public class TestSSLRandomization extends SolrCloudTestCase {
assertEquals(RandomizeSSL.DEFAULT_ODDS, r.ssl, 0.0D);
assertEquals(0.42D, r.clientAuth, 0.0D);
- for (@SuppressWarnings({"rawtypes"})Class c : Arrays.asList(SSLOutOfRangeAnnotated.class,
+ for (Class<?> c : Arrays.asList(SSLOutOfRangeAnnotated.class,
ClientAuthOutOfRangeAnnotated.class,
InheritedOutOfRangeAnnotated.class)) {
expectThrows(IllegalArgumentException.class, () -> {
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 4230ec1..f06418a 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestStressInPlaceUpdates.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestStressInPlaceUpdates.java
@@ -323,7 +323,6 @@ public class TestStressInPlaceUpdates extends AbstractFullDistribZkTestBase {
Thread thread = new Thread("READER" + i) {
Random rand = new Random(random().nextInt());
- @SuppressWarnings("unchecked")
@Override
public void run() {
try {
diff --git a/solr/core/src/test/org/apache/solr/cloud/api/collections/ShardSplitTest.java b/solr/core/src/test/org/apache/solr/cloud/api/collections/ShardSplitTest.java
index ad07a35..52cf661 100644
--- a/solr/core/src/test/org/apache/solr/cloud/api/collections/ShardSplitTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/api/collections/ShardSplitTest.java
@@ -795,7 +795,7 @@ public class ShardSplitTest extends BasicDistributedZkTest {
HashMap<String, List<Integer>> collectionInfos = new HashMap<>();
String shard_fld = "shard_s";
try (CloudSolrClient client = createCloudClient(null)) {
- Map<String, Object> props = Utils.makeMap(
+ Map<String, Object> props = Map.of(
REPLICATION_FACTOR, replicationFactor,
CollectionHandlingUtils.NUM_SLICES, numShards,
"router.field", shard_fld);
@@ -854,7 +854,7 @@ public class ShardSplitTest extends BasicDistributedZkTest {
HashMap<String, List<Integer>> collectionInfos = new HashMap<>();
try (CloudSolrClient client = createCloudClient(null)) {
- Map<String, Object> props = Utils.makeMap(
+ Map<String, Object> props = Map.of(
REPLICATION_FACTOR, replicationFactor,
CollectionHandlingUtils.NUM_SLICES, numShards);
diff --git a/solr/core/src/test/org/apache/solr/cloud/overseer/TestClusterStateMutator.java b/solr/core/src/test/org/apache/solr/cloud/overseer/TestClusterStateMutator.java
index 988ac25..7933d5b 100644
--- a/solr/core/src/test/org/apache/solr/cloud/overseer/TestClusterStateMutator.java
+++ b/solr/core/src/test/org/apache/solr/cloud/overseer/TestClusterStateMutator.java
@@ -17,6 +17,7 @@
package org.apache.solr.cloud.overseer;
import java.util.Collections;
+import java.util.Map;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.client.solrj.cloud.DistribStateManager;
@@ -26,7 +27,6 @@ import org.apache.solr.common.cloud.DocCollection;
import org.apache.solr.common.cloud.ImplicitDocRouter;
import org.apache.solr.common.cloud.Slice;
import org.apache.solr.common.cloud.ZkNodeProps;
-import org.apache.solr.common.util.Utils;
import org.junit.BeforeClass;
import static org.mockito.Mockito.*;
@@ -45,7 +45,7 @@ public class TestClusterStateMutator extends SolrTestCaseJ4 {
when(dataProvider.getDistribStateManager()).thenReturn(mockStateManager);
ClusterStateMutator mutator = new ClusterStateMutator(dataProvider);
- ZkNodeProps message = new ZkNodeProps(Utils.makeMap(
+ ZkNodeProps message = new ZkNodeProps(Map.of(
"name", "xyz",
"numShards", "1"
));
@@ -55,7 +55,7 @@ public class TestClusterStateMutator extends SolrTestCaseJ4 {
assertEquals(1, collection.getSlicesMap().size());
ClusterState state = new ClusterState(Collections.<String>emptySet(), Collections.singletonMap("xyz", collection));
- message = new ZkNodeProps(Utils.makeMap(
+ message = new ZkNodeProps(Map.of(
"name", "abc",
"numShards", "2",
"router.name", "implicit",
diff --git a/solr/core/src/test/org/apache/solr/core/BlobRepositoryMockingTest.java b/solr/core/src/test/org/apache/solr/core/BlobRepositoryMockingTest.java
index 18922f0..7e06415 100644
--- a/solr/core/src/test/org/apache/solr/core/BlobRepositoryMockingTest.java
+++ b/solr/core/src/test/org/apache/solr/core/BlobRepositoryMockingTest.java
@@ -112,7 +112,6 @@ public class BlobRepositoryMockingTest {
}
}
- @SuppressWarnings("unchecked")
@Test
public void testGetBlobIncrRefString() {
when(mockContainer.isZooKeeperAware()).thenReturn(true);
@@ -127,7 +126,6 @@ public class BlobRepositoryMockingTest {
verify(mapMock).put(eq("foo!"), any(BlobRepository.BlobContent.class));
}
- @SuppressWarnings("unchecked")
@Test
public void testGetBlobIncrRefByUrl() throws Exception{
when(mockContainer.isZooKeeperAware()).thenReturn(true);
@@ -153,7 +151,6 @@ public class BlobRepositoryMockingTest {
filecontent = null;
}
- @SuppressWarnings("unchecked")
@Test
public void testCachedAlready() {
when(mockContainer.isZooKeeperAware()).thenReturn(true);
@@ -168,7 +165,6 @@ public class BlobRepositoryMockingTest {
verify(mapMock).get("foo!");
}
- @SuppressWarnings("unchecked")
@Test
public void testGetBlobIncrRefStringDecoder() {
when(mockContainer.isZooKeeperAware()).thenReturn(true);
diff --git a/solr/core/src/test/org/apache/solr/core/CoreSorterTest.java b/solr/core/src/test/org/apache/solr/core/CoreSorterTest.java
index fd7b5c4..baa8bd4 100644
--- a/solr/core/src/test/org/apache/solr/core/CoreSorterTest.java
+++ b/solr/core/src/test/org/apache/solr/core/CoreSorterTest.java
@@ -80,7 +80,6 @@ public class CoreSorterTest extends SolrTestCaseJ4 {
}
@Test
- @SuppressWarnings({"unchecked"})
public void integrationTest() {
assumeWorkingMockito();
@@ -123,10 +122,9 @@ public class CoreSorterTest extends SolrTestCaseJ4 {
addNewReplica(replicas, collection, slice, downNodes);
}
Map<String, Replica> replicaMap = replicas.stream().collect(Collectors.toMap(Replica::getName, Function.identity()));
- sliceMap.put(slice, new Slice(slice, replicaMap, map(), collection));
+ sliceMap.put(slice, new Slice(slice, replicaMap, Collections.emptyMap(), collection));
}
- @SuppressWarnings({"unchecked"})
- DocCollection col = new DocCollection(collection, sliceMap, map(), DocRouter.DEFAULT);
+ DocCollection col = new DocCollection(collection, sliceMap, Collections.emptyMap(), DocRouter.DEFAULT);
collToState.put(collection, col);
}
// reverse map
@@ -183,8 +181,7 @@ public class CoreSorterTest extends SolrTestCaseJ4 {
}
private CoreDescriptor newCoreDescriptor(Replica r) {
- @SuppressWarnings({"unchecked"})
- Map<String,String> props = map(
+ Map<String,String> props = Map.of(
CoreDescriptor.CORE_SHARD, r.getShard(),
CoreDescriptor.CORE_COLLECTION, r.getCollection(),
CoreDescriptor.CORE_NODE_NAME, r.getNodeName()
@@ -195,8 +192,7 @@ public class CoreSorterTest extends SolrTestCaseJ4 {
protected Replica addNewReplica(List<Replica> replicaList, String collection, String slice, List<String> possibleNodes) {
String replica = "r" + replicaList.size();
String node = possibleNodes.get(random().nextInt(possibleNodes.size())); // place on a random node
- @SuppressWarnings({"unchecked"})
- Replica r = new Replica(replica, map("core", replica, "node_name", node), collection, slice);
+ Replica r = new Replica(replica, Map.of("core", replica, "node_name", node), collection, slice);
replicaList.add(r);
return r;
}
diff --git a/solr/core/src/test/org/apache/solr/core/CountUsageValueSourceParser.java b/solr/core/src/test/org/apache/solr/core/CountUsageValueSourceParser.java
index 6050187..8e10711 100644
--- a/solr/core/src/test/org/apache/solr/core/CountUsageValueSourceParser.java
+++ b/solr/core/src/test/org/apache/solr/core/CountUsageValueSourceParser.java
@@ -72,7 +72,7 @@ public class CountUsageValueSourceParser extends ValueSourceParser {
this.counter = counter;
}
@Override
- public FunctionValues getValues(@SuppressWarnings({"rawtypes"})Map context,
+ public FunctionValues getValues(Map<Object, Object> context,
LeafReaderContext readerContext) throws IOException {
return new DoubleDocValues(this) {
@Override
diff --git a/solr/core/src/test/org/apache/solr/core/FakeDeletionPolicy.java b/solr/core/src/test/org/apache/solr/core/FakeDeletionPolicy.java
index ae20e0f..8e5638f 100644
--- a/solr/core/src/test/org/apache/solr/core/FakeDeletionPolicy.java
+++ b/solr/core/src/test/org/apache/solr/core/FakeDeletionPolicy.java
@@ -16,6 +16,7 @@
*/
package org.apache.solr.core;
+import org.apache.lucene.index.IndexCommit;
import org.apache.lucene.index.IndexDeletionPolicy;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.util.plugin.NamedListInitializedPlugin;
@@ -46,15 +47,13 @@ public class FakeDeletionPolicy extends IndexDeletionPolicy implements NamedList
return var2;
}
- // @Override
@Override
- public void onCommit(@SuppressWarnings({"rawtypes"})List arg0) throws IOException {
+ public void onCommit(List<? extends IndexCommit> arg0) throws IOException {
System.setProperty("onCommit", "test.org.apache.solr.core.FakeDeletionPolicy.onCommit");
}
- // @Override
@Override
- public void onInit(@SuppressWarnings({"rawtypes"})List arg0) throws IOException {
+ public void onInit(List<? extends IndexCommit> arg0) throws IOException {
System.setProperty("onInit", "test.org.apache.solr.core.FakeDeletionPolicy.onInit");
}
}
diff --git a/solr/core/src/test/org/apache/solr/core/ResourceLoaderTest.java b/solr/core/src/test/org/apache/solr/core/ResourceLoaderTest.java
index 366e499..de9bd39 100644
--- a/solr/core/src/test/org/apache/solr/core/ResourceLoaderTest.java
+++ b/solr/core/src/test/org/apache/solr/core/ResourceLoaderTest.java
@@ -201,12 +201,12 @@ public class ResourceLoaderTest extends SolrTestCaseJ4 {
}
- @SuppressWarnings({"rawtypes", "deprecation"})
+ @SuppressWarnings("deprecation")
public void testLoadDeprecatedFactory() throws Exception {
SolrResourceLoader loader = new SolrResourceLoader(Paths.get("solr/collection1").toAbsolutePath());
// ensure we get our exception
loader.newInstance(DeprecatedTokenFilterFactory.class.getName(), TokenFilterFactory.class, null,
- new Class[] { Map.class }, new Object[] { new HashMap<String,String>() });
+ new Class<?>[] { Map.class }, new Object[] { new HashMap<String,String>() });
// TODO: How to check that a warning was printed to log file?
loader.close();
}
@@ -215,8 +215,7 @@ public class ResourceLoaderTest extends SolrTestCaseJ4 {
clearCache();
SolrResourceLoader loader = new SolrResourceLoader(TEST_PATH().resolve("collection1"));
- @SuppressWarnings({"rawtypes"})
- Class[] params = { Map.class };
+ Class<?>[] params = { Map.class };
Map<String,String> args = Map.of("minGramSize", "1", "maxGramSize", "2");
final String className = "solr.NGramTokenizerFactory";
diff --git a/solr/core/src/test/org/apache/solr/core/TestConfigOverlay.java b/solr/core/src/test/org/apache/solr/core/TestConfigOverlay.java
index 07708c6..04434bd 100644
--- a/solr/core/src/test/org/apache/solr/core/TestConfigOverlay.java
+++ b/solr/core/src/test/org/apache/solr/core/TestConfigOverlay.java
@@ -65,8 +65,7 @@ public class TestConfigOverlay extends SolrTestCase {
}
public void testSetProperty(){
- @SuppressWarnings({"unchecked"})
- ConfigOverlay overlay = new ConfigOverlay(Collections.EMPTY_MAP,0);
+ ConfigOverlay overlay = new ConfigOverlay(Collections.emptyMap(),0);
overlay = overlay.setProperty("query.filterCache.initialSize",100);
assertEquals(100, overlay.getXPathProperty("query/filterCache/@initialSize"));
Map<String, Object> map = overlay.getEditableSubProperties("query/filterCache");
diff --git a/solr/core/src/test/org/apache/solr/core/TestInitParams.java b/solr/core/src/test/org/apache/solr/core/TestInitParams.java
index d3a0eef..b8ef93f 100644
--- a/solr/core/src/test/org/apache/solr/core/TestInitParams.java
+++ b/solr/core/src/test/org/apache/solr/core/TestInitParams.java
@@ -18,7 +18,6 @@ package org.apache.solr.core;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.common.util.NamedList;
-import org.apache.solr.common.util.Utils;
import org.apache.solr.request.SolrRequestHandler;
import org.apache.solr.response.SolrQueryResponse;
import org.junit.BeforeClass;
@@ -57,7 +56,7 @@ public class TestInitParams extends SolrTestCaseJ4 {
@SuppressWarnings({"unchecked", "rawtypes"})
PluginInfo pluginInfo = new PluginInfo("requestHandler",
new HashMap<>(),
- new NamedList<>(singletonMap("defaults", new NamedList(Utils.makeMap("a", "A1")))), null);
+ new NamedList<>(singletonMap("defaults", new NamedList(singletonMap("a", "A1")))), null);
initParams.apply(pluginInfo);
assertEquals( "A",initParams.defaults.get("a"));
}
@@ -126,14 +125,14 @@ public class TestInitParams extends SolrTestCaseJ4 {
}
public void testMatchPath(){
- InitParams initParams = new InitParams(new PluginInfo(InitParams.TYPE, Utils.makeMap("path", "/update/json/docs")));
+ InitParams initParams = new InitParams(new PluginInfo(InitParams.TYPE, singletonMap("path", "/update/json/docs")));
assertFalse(initParams.matchPath("/update"));
assertTrue(initParams.matchPath("/update/json/docs"));
- initParams = new InitParams(new PluginInfo(InitParams.TYPE, Utils.makeMap("path", "/update/**")));
+ initParams = new InitParams(new PluginInfo(InitParams.TYPE, singletonMap("path", "/update/**")));
assertTrue(initParams.matchPath("/update/json/docs"));
assertTrue(initParams.matchPath("/update/json"));
assertTrue(initParams.matchPath("/update"));
- initParams = new InitParams(new PluginInfo(InitParams.TYPE, Utils.makeMap("path", "/update/*")));
+ initParams = new InitParams(new PluginInfo(InitParams.TYPE, singletonMap("path", "/update/*")));
assertFalse(initParams.matchPath("/update/json/docs"));
assertTrue(initParams.matchPath("/update/json"));
assertTrue(initParams.matchPath("/update"));
diff --git a/solr/core/src/test/org/apache/solr/filestore/TestDistribPackageStore.java b/solr/core/src/test/org/apache/solr/filestore/TestDistribPackageStore.java
index f6930d0..07a1779 100644
--- a/solr/core/src/test/org/apache/solr/filestore/TestDistribPackageStore.java
+++ b/solr/core/src/test/org/apache/solr/filestore/TestDistribPackageStore.java
@@ -27,6 +27,7 @@ import org.apache.solr.client.solrj.embedded.JettySolrRunner;
import org.apache.solr.client.solrj.impl.BaseHttpSolrClient.RemoteExecutionException;
import org.apache.solr.client.solrj.impl.HttpSolrClient;
import org.apache.solr.client.solrj.request.V2Request;
+import org.apache.solr.client.solrj.response.SimpleSolrResponse;
import org.apache.solr.client.solrj.response.V2Response;
import org.apache.solr.cloud.MiniSolrCloudCluster;
import org.apache.solr.cloud.SolrCloudTestCase;
@@ -40,6 +41,8 @@ import org.apache.solr.util.LogLevel;
import org.apache.zookeeper.server.ByteBufferInputStream;
import org.junit.After;
import org.junit.Before;
+import org.junit.Test;
+
import java.io.IOException;
import java.io.InputStream;
import java.nio.ByteBuffer;
@@ -69,7 +72,8 @@ public class TestDistribPackageStore extends SolrCloudTestCase {
System.clearProperty("enable.packages");
}
- @SuppressWarnings({"unchecked"})
+ @Test
+ @AwaitsFix(bugUrl = "https://issues.apache.org/jira/browse/SOLR-15448")
public void testPackageStoreManagement() throws Exception {
MiniSolrCloudCluster cluster =
configureCluster(4)
@@ -103,7 +107,7 @@ public class TestDistribPackageStore extends SolrCloudTestCase {
new V2Request.Builder("/node/files/package/mypkg/v1.0")
.withMethod(SolrRequest.METHOD.GET)
.build(),
- Utils.makeMap(
+ Map.of(
":files:/package/mypkg/v1.0[0]:name", "runtimelibs.jar",
":files:/package/mypkg/v1.0[0]:sha512", "d01b51de67ae1680a84a813983b1de3b592fc32f1a22b662fc9057da5953abd1b72476388ba342cad21671cd0b805503c78ab9075ff2f3951fdf75fa16981420",
":files:/package/mypkg/v1.0[0]:sig[0]", "L3q/qIGs4NaF6JiO0ZkMUFa88j0OmYc+I6O7BOdNuMct/xoZ4h73aZHZGc0+nmI1f/U3bOlMPINlSOM6LK3JpQ=="
@@ -115,14 +119,13 @@ public class TestDistribPackageStore extends SolrCloudTestCase {
new V2Request.Builder("/node/files/package/mypkg")
.withMethod(SolrRequest.METHOD.GET)
.build(),
- Utils.makeMap(
+ Map.of(
":files:/package/mypkg[0]:name", "v1.0",
":files:/package/mypkg[0]:dir", "true"
)
);
- @SuppressWarnings({"rawtypes"})
- Map expected = Utils.makeMap(
+ Map<String,Object> expected = Map.of(
":files:/package/mypkg/v1.0/runtimelibs.jar:name", "runtimelibs.jar",
":files:/package/mypkg/v1.0[0]:sha512", "d01b51de67ae1680a84a813983b1de3b592fc32f1a22b662fc9057da5953abd1b72476388ba342cad21671cd0b805503c78ab9075ff2f3951fdf75fa16981420"
);
@@ -131,13 +134,13 @@ public class TestDistribPackageStore extends SolrCloudTestCase {
"/package/mypkg/v1.0/runtimelibs_v2.jar",
null
);
- expected = Utils.makeMap(
+ expected = Map.of(
":files:/package/mypkg/v1.0/runtimelibs_v2.jar:name", "runtimelibs_v2.jar",
":files:/package/mypkg/v1.0[0]:sha512",
"bc5ce45ad281b6a08fb7e529b1eb475040076834816570902acb6ebdd809410e31006efdeaa7f78a6c35574f3504963f5f7e4d92247d0eb4db3fc9abdda5d417"
);
checkAllNodesForFile(cluster,"/package/mypkg/v1.0/runtimelibs_v2.jar", expected, false);
- expected = Utils.makeMap(
+ expected = Map.of(
":files:/package/mypkg/v1.0", (Predicate<Object>) o -> {
@SuppressWarnings({"rawtypes"})
List l = (List) o;
@@ -193,8 +196,7 @@ public class TestDistribPackageStore extends SolrCloudTestCase {
}
- @SuppressWarnings({"rawtypes"})
- public static class Fetcher implements Callable {
+ public static class Fetcher implements Callable<NavigableObject> {
String url;
JettySolrRunner jetty;
public Fetcher(String s, JettySolrRunner jettySolrRunner){
@@ -217,15 +219,24 @@ public class TestDistribPackageStore extends SolrCloudTestCase {
public static NavigableObject assertResponseValues(int repeats, SolrClient client,
@SuppressWarnings({"rawtypes"})SolrRequest req,
- @SuppressWarnings({"rawtypes"})Map vals) throws Exception {
+ Map<String, Object> vals) throws Exception {
Callable<NavigableObject> callable = () -> req.process(client);
return assertResponseValues(repeats, callable,vals);
}
+ /**
+ * Evaluate the given predicates or objects against the given values, obtained by running a given callable.
+ * The values to verify are either predicates to evaluate directly, or strings to compare for equality.
+ * @param repeats how many attempts to make with the Callable
+ * @param callable the code to execute getting a result
+ * @param vals the values to check in the result, this is a map of paths to predicates or values
+ * @return the final passing result of the callable
+ * @throws Exception if the callable throws an Exception, or on interrupt between retries
+ */
@SuppressWarnings({"unchecked"})
public static NavigableObject assertResponseValues(int repeats, Callable<NavigableObject> callable,
- @SuppressWarnings({"rawtypes"})Map vals) throws Exception {
+ Map<String, Object> vals) throws Exception {
NavigableObject rsp = null;
for (int i = 0; i < repeats; i++) {
@@ -238,26 +249,29 @@ public class TestDistribPackageStore extends SolrCloudTestCase {
if (i >= repeats - 1) throw e;
continue;
}
- for (Object e : vals.entrySet()) {
- @SuppressWarnings({"rawtypes"})
- Map.Entry entry = (Map.Entry) e;
- String k = (String) entry.getKey();
+ boolean passed = true;
+ for (Map.Entry<String, Object> entry : vals.entrySet()) {
+ String k = entry.getKey();
List<String> key = StrUtils.split(k, '/');
Object val = entry.getValue();
- @SuppressWarnings({"rawtypes"})
- Predicate p = val instanceof Predicate ? (Predicate) val : o -> {
- String v = o == null ? null : String.valueOf(o);
- return Objects.equals(val, o);
+ // TODO: This map should just be <String,Predicate> and we should instead provide a static eq() method for callers
+ Predicate<Object> p = val instanceof Predicate ? (Predicate<Object>) val : o -> {
+ String v = o == null ? null : o.toString();
+ return Objects.equals(val, v);
};
- boolean isPass = p.test(rsp._get(key, null));
- if (isPass) return rsp;
- else if (i >= repeats - 1) {
- fail("req: " + callable.toString() +" . attempt: " + i + " Mismatch for value : '" + key + "' in response , " + Utils.toJSONString(rsp));
+ Object actual = rsp._get(key, null);
+ passed = passed && p.test(actual); // Important: check all of the values, not just the first one
+ if (!passed && i >= repeats - 1) {
+ String description = rsp.toString();
+ if (rsp instanceof SimpleSolrResponse) {
+ description = ((SimpleSolrResponse) rsp).getResponse().toString();
+ }
+ // we know these are unequal but call assert instead of fail() because it gives a better error message
+ assertEquals("Failed on path " + key + " of " + description + "after attempt #" + (i+1),
+ val, Utils.toJSONString(actual));
}
-
}
-
}
return rsp;
}
@@ -269,7 +283,7 @@ public class TestDistribPackageStore extends SolrCloudTestCase {
Object resp = Utils.executeGET(client.getHttpClient(), jetty.getBaseURLV2().toString() + "/node/files" + path + "?sync=true", null);
System.out.println("sync resp: "+jetty.getBaseURLV2().toString() + "/node/files" + path + "?sync=true" + " ,is: " + resp);
}
- checkAllNodesForFile(cluster,path, Utils.makeMap(":files:" + path + ":name", (Predicate<Object>) Objects::nonNull), false);
+ checkAllNodesForFile(cluster,path, Map.of(":files:" + path + ":name", (Predicate<Object>) Objects::nonNull), false);
}
public static void postFile(SolrClient client, ByteBuffer buffer, String name, String sig)
diff --git a/solr/core/src/test/org/apache/solr/handler/TestContainerPlugin.java b/solr/core/src/test/org/apache/solr/handler/TestContainerPlugin.java
index fb63e0e..7254b0f 100644
--- a/solr/core/src/test/org/apache/solr/handler/TestContainerPlugin.java
+++ b/solr/core/src/test/org/apache/solr/handler/TestContainerPlugin.java
@@ -47,7 +47,6 @@ import org.apache.solr.cloud.SolrCloudTestCase;
import org.apache.solr.common.NavigableObject;
import org.apache.solr.common.annotation.JsonProperty;
import org.apache.solr.common.util.ReflectMapWriter;
-import org.apache.solr.common.util.Utils;
import org.apache.solr.core.CoreContainer;
import org.apache.solr.core.SolrResourceLoader;
import org.apache.solr.filestore.PackageStoreAPI;
@@ -312,7 +311,7 @@ public class TestContainerPlugin extends SolrCloudTestCase {
.build();
addPkgVersionReq.process(cluster.getSolrClient());
- waitForAllNodesToSync(cluster, "/cluster/package", Utils.makeMap(
+ waitForAllNodesToSync(cluster, "/cluster/package", Map.of(
":result:packages:mypkg[0]:version", "1.0",
":result:packages:mypkg[0]:files[0]", FILE1
));
@@ -537,7 +536,6 @@ public class TestContainerPlugin extends SolrCloudTestCase {
}
- @SuppressWarnings("unchecked")
public static void waitForAllNodesToSync(MiniSolrCloudCluster cluster, String path, Map<String, Object> expected) throws Exception {
for (JettySolrRunner jettySolrRunner : cluster.getJettySolrRunners()) {
String baseUrl = jettySolrRunner.getBaseUrl().toString().replace("/solr", "/api");
diff --git a/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerCloud.java b/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerCloud.java
index 53072d0..5bc531e 100644
--- a/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerCloud.java
+++ b/solr/core/src/test/org/apache/solr/handler/TestSolrConfigHandlerCloud.java
@@ -276,11 +276,11 @@ public class TestSolrConfigHandlerCloud extends AbstractFullDistribZkTestBase {
}
@SuppressWarnings({"unchecked"})
- public static void compareValues(@SuppressWarnings({"rawtypes"})Map result, Object expected, List<String> jsonPath) {
+ public static void compareValues(Map<?,?> result, Object expected, List<String> jsonPath) {
Object val = Utils.getObjectByPath(result, false, jsonPath);
assertTrue(StrUtils.formatString("Could not get expected value {0} for path {1} full output {2}", expected, jsonPath, result.toString()),
expected instanceof Predicate ?
- ((Predicate)expected ).test(val) :
+ ((Predicate<Object>)expected ).test(val) :
Objects.equals(expected, val)
);
}
diff --git a/solr/core/src/test/org/apache/solr/handler/admin/MetricsHandlerTest.java b/solr/core/src/test/org/apache/solr/handler/admin/MetricsHandlerTest.java
index 8f2bdba..12c3f75 100644
--- a/solr/core/src/test/org/apache/solr/handler/admin/MetricsHandlerTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/admin/MetricsHandlerTest.java
@@ -27,7 +27,6 @@ import org.apache.solr.common.MapWriter;
import org.apache.solr.common.params.CommonParams;
import org.apache.solr.common.util.NamedList;
import org.apache.solr.common.util.SimpleOrderedMap;
-import org.apache.solr.common.util.Utils;
import org.apache.solr.core.PluginBag;
import org.apache.solr.core.PluginInfo;
import org.apache.solr.core.SolrCore;
@@ -187,7 +186,6 @@ public class MetricsHandlerTest extends SolrTestCaseJ4 {
assertNotNull(values.get("solr.core.collection1"));
values = (NamedList) values.get("solr.core.collection1");
assertEquals(1, values.size());
- @SuppressWarnings({"rawtypes"})
MapWriter writer = (MapWriter) values.get("CACHE.core.fieldCache");
assertNotNull(writer);
assertNotNull(writer._get("entries_count", null));
@@ -367,9 +365,9 @@ public class MetricsHandlerTest extends SolrTestCaseJ4 {
SolrCore core = h.getCoreContainer().getCore("collection1");//;.getRequestHandlers().put("/dumphandler", new DumpRequestHandler());
RefreshablePluginHolder pluginHolder =null;
try {
- PluginInfo info = new PluginInfo(SolrRequestHandler.TYPE, Utils.makeMap("name", "/dumphandler", "class", DumpRequestHandler.class.getName()));
+ PluginInfo info = new PluginInfo(SolrRequestHandler.TYPE, Map.of("name", "/dumphandler", "class", DumpRequestHandler.class.getName()));
DumpRequestHandler requestHandler = new DumpRequestHandler();
- requestHandler.gaugevals = Utils.makeMap("d_k1","v1", "d_k2","v2");
+ requestHandler.gaugevals = Map.of("d_k1","v1", "d_k2","v2");
pluginHolder = new RefreshablePluginHolder(info, requestHandler);
core.getRequestHandlers().put("/dumphandler",
@@ -397,7 +395,7 @@ public class MetricsHandlerTest extends SolrTestCaseJ4 {
assertEquals(null, resp.getValues()._getStr(Arrays.asList("metrics","solr.core.collection1:QUERY./dumphandler.dumphandlergauge","d_k2"), null));
DumpRequestHandler requestHandler = new DumpRequestHandler();
- requestHandler.gaugevals = Utils.makeMap("d_k1","v1.1", "d_k2","v2.1");
+ requestHandler.gaugevals = Map.of("d_k1","v1.1", "d_k2","v2.1");
pluginHolder.reset(requestHandler);
resp = new SolrQueryResponse();
handler.handleRequestBody(req(CommonParams.QT, "/admin/metrics", CommonParams.WT, "json", MetricsHandler.COMPACT_PARAM, "true", "key", "solr.core.collection1:QUERY./dumphandler.dumphandlergauge"),
diff --git a/solr/core/src/test/org/apache/solr/handler/admin/SecurityConfHandlerTest.java b/solr/core/src/test/org/apache/solr/handler/admin/SecurityConfHandlerTest.java
index 270e3ba..d04b6fd 100644
--- a/solr/core/src/test/org/apache/solr/handler/admin/SecurityConfHandlerTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/admin/SecurityConfHandlerTest.java
@@ -32,7 +32,6 @@ import org.apache.solr.response.SolrQueryResponse;
import org.apache.solr.security.BasicAuthPlugin;
import org.apache.solr.security.RuleBasedAuthorizationPlugin;
-import static org.apache.solr.common.util.Utils.makeMap;
import static org.apache.solr.handler.admin.SecurityConfHandler.SecurityConfig;
public class SecurityConfHandlerTest extends SolrTestCaseJ4 {
@@ -191,12 +190,14 @@ public class SecurityConfHandlerTest extends SolrTestCaseJ4 {
super(null);
m = new HashMap<>();
SecurityConfig sp = new SecurityConfig();
- sp.setData(makeMap("authentication", makeMap("class", "solr."+ BasicAuthPlugin.class.getSimpleName())));
+ Map<String, Object> securityData = new HashMap<>();
+ securityData.put("authentication", Map.of("class", "solr."+ BasicAuthPlugin.class.getSimpleName()));
+ securityData.put("authorization", Map.of("class", "solr."+RuleBasedAuthorizationPlugin.class.getSimpleName()));
sp.setVersion(1);
- sp.getData().put("authorization", makeMap("class", "solr."+RuleBasedAuthorizationPlugin.class.getSimpleName()));
+ sp.setData(securityData);
m.put("/security.json", sp);
- basicAuthPlugin.init(Collections.singletonMap("credentials", Collections.singletonMap("ignore", "me")));
+ basicAuthPlugin.init(Map.of("credentials", Map.of("ignore", "me")));
rulesBasedAuthorizationPlugin.init(new HashMap<>());
}
diff --git a/solr/core/src/test/org/apache/solr/handler/admin/TestApiFramework.java b/solr/core/src/test/org/apache/solr/handler/admin/TestApiFramework.java
index bfa9eae..f3ca9da 100644
--- a/solr/core/src/test/org/apache/solr/handler/admin/TestApiFramework.java
+++ b/solr/core/src/test/org/apache/solr/handler/admin/TestApiFramework.java
@@ -95,7 +95,7 @@ public class TestApiFramework extends SolrTestCaseJ4 {
Api api = V2HttpCall.getApiInfo(containerHandlers, fullPath, "POST",
fullPath, parts);
assertNotNull(api);
- assertConditions(api.getSpec(), Utils.makeMap(
+ assertConditions(api.getSpec(), Map.of(
"/methods[0]", "POST",
"/commands/create", NOT_NULL));
assertEquals("hello", parts.get("collection"));
@@ -104,7 +104,7 @@ public class TestApiFramework extends SolrTestCaseJ4 {
parts = new HashMap<>();
api = V2HttpCall.getApiInfo(containerHandlers, "/collections/hello/shards", "POST",
null, parts);
- assertConditions(api.getSpec(), Utils.makeMap(
+ assertConditions(api.getSpec(), Map.of(
"/methods[0]", "POST",
"/commands/split", NOT_NULL,
"/commands/add-replica", NOT_NULL
@@ -114,7 +114,7 @@ public class TestApiFramework extends SolrTestCaseJ4 {
parts = new HashMap<>();
api = V2HttpCall.getApiInfo(containerHandlers, "/collections/hello/shards/shard1", "POST",
null, parts);
- assertConditions(api.getSpec(), Utils.makeMap(
+ assertConditions(api.getSpec(), Map.of(
"/methods[0]", "POST",
"/commands/force-leader", NOT_NULL
));
@@ -125,7 +125,7 @@ public class TestApiFramework extends SolrTestCaseJ4 {
parts = new HashMap<>();
api = V2HttpCall.getApiInfo(containerHandlers, "/collections/hello", "POST",
null, parts);
- assertConditions(api.getSpec(), Utils.makeMap(
+ assertConditions(api.getSpec(), Map.of(
"/methods[0]", "POST",
"/commands/add-replica-property", NOT_NULL,
"/commands/delete-replica-property", NOT_NULL
@@ -134,7 +134,7 @@ public class TestApiFramework extends SolrTestCaseJ4 {
api = V2HttpCall.getApiInfo(containerHandlers, "/collections/hello/shards/shard1/replica1", "DELETE",
null, parts);
- assertConditions(api.getSpec(), Utils.makeMap(
+ assertConditions(api.getSpec(), Map.of(
"/methods[0]", "DELETE",
"/url/params/onlyIfDown/type", "boolean"
));
@@ -161,7 +161,7 @@ public class TestApiFramework extends SolrTestCaseJ4 {
assertTrue(methodNames.contains("GET"));
rsp = invoke(coreHandlers, "/", "/collections/hello/_introspect", GET, mockCC);
- assertConditions(rsp.getValues().asMap(2), Utils.makeMap(
+ assertConditions(rsp.getValues().asMap(2), Map.of(
"/availableSubPaths", NOT_NULL,
"availableSubPaths /collections/hello/config/jmx", NOT_NULL,
"availableSubPaths /collections/hello/schema", NOT_NULL,
diff --git a/solr/core/src/test/org/apache/solr/handler/admin/TestConfigsApi.java b/solr/core/src/test/org/apache/solr/handler/admin/TestConfigsApi.java
index eb97ea7..2f40702 100644
--- a/solr/core/src/test/org/apache/solr/handler/admin/TestConfigsApi.java
+++ b/solr/core/src/test/org/apache/solr/handler/admin/TestConfigsApi.java
@@ -54,7 +54,7 @@ public class TestConfigsApi extends SolrTestCaseJ4 {
ClusterAPI o = new ClusterAPI(null, handler);
apiBag.registerObject(o);
apiBag.registerObject(o.configSetCommands);
-// for (Api api : handler.getApis()) apiBag.register(api, EMPTY_MAP);
+// for (Api api : handler.getApis()) apiBag.register(api, emptyMap());
compareOutput(apiBag, "/cluster/configs/sample", DELETE, null, null,
"{name :sample, operation:delete}");
}
diff --git a/solr/core/src/test/org/apache/solr/handler/admin/TestCoreAdminApis.java b/solr/core/src/test/org/apache/solr/handler/admin/TestCoreAdminApis.java
index 15b5025..3ea289a 100644
--- a/solr/core/src/test/org/apache/solr/handler/admin/TestCoreAdminApis.java
+++ b/solr/core/src/test/org/apache/solr/handler/admin/TestCoreAdminApis.java
@@ -35,7 +35,6 @@ import static org.mockito.Mockito.*;
public class TestCoreAdminApis extends SolrTestCaseJ4 {
- @SuppressWarnings({"unchecked"})
public void testCalls() throws Exception {
Map<String, Object[]> calls = new HashMap<>();
CoreContainer mockCC = getCoreContainerMock(calls, new HashMap<>());
@@ -44,7 +43,7 @@ public class TestCoreAdminApis extends SolrTestCaseJ4 {
try (CoreAdminHandler coreAdminHandler = new CoreAdminHandler(mockCC)) {
apiBag = new ApiBag(false);
for (Api api : coreAdminHandler.getApis()) {
- apiBag.register(api, Collections.EMPTY_MAP);
+ apiBag.register(api, Collections.emptyMap());
}
}
TestCollectionAPIs.makeCall(apiBag, "/cores", SolrRequest.METHOD.POST,
diff --git a/solr/core/src/test/org/apache/solr/handler/component/DistributedFacetPivotLongTailTest.java b/solr/core/src/test/org/apache/solr/handler/component/DistributedFacetPivotLongTailTest.java
index 37d9989..4f94082 100644
--- a/solr/core/src/test/org/apache/solr/handler/component/DistributedFacetPivotLongTailTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/component/DistributedFacetPivotLongTailTest.java
@@ -67,7 +67,6 @@ public class DistributedFacetPivotLongTailTest extends BaseDistributedSearchTest
doTestDeepPivotStats();
}
- @SuppressWarnings({"rawtypes"})
private void sanityCheckIndividualShards() throws Exception {
assertEquals("This test assumes exactly 3 shards/clients", 3, clients.size());
diff --git a/solr/core/src/test/org/apache/solr/handler/component/ResourceSharingTestComponent.java b/solr/core/src/test/org/apache/solr/handler/component/ResourceSharingTestComponent.java
index c36a8ad..c8360fc 100644
--- a/solr/core/src/test/org/apache/solr/handler/component/ResourceSharingTestComponent.java
+++ b/solr/core/src/test/org/apache/solr/handler/component/ResourceSharingTestComponent.java
@@ -63,7 +63,6 @@ public class ResourceSharingTestComponent extends SearchComponent implements Sol
return "ResourceSharingTestComponent";
}
- @SuppressWarnings("unchecked")
TestObject getTestObj() {
return this.blob.get();
}
diff --git a/solr/core/src/test/org/apache/solr/handler/component/SpellCheckComponentTest.java b/solr/core/src/test/org/apache/solr/handler/component/SpellCheckComponentTest.java
index 30457e4..015e31a 100644
--- a/solr/core/src/test/org/apache/solr/handler/component/SpellCheckComponentTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/component/SpellCheckComponentTest.java
@@ -230,7 +230,6 @@ public class SpellCheckComponentTest extends SolrTestCaseJ4 {
);
}
- @SuppressWarnings("unchecked")
@Test
public void testRelativeIndexDirLocation() throws Exception {
SolrCore core = h.getCore();
@@ -288,7 +287,6 @@ public class SpellCheckComponentTest extends SolrTestCaseJ4 {
checker.close();
}
- @SuppressWarnings("unchecked")
@Test
public void testRebuildOnCommit() throws Exception {
SolrQueryRequest req = req("q", "lowerfilt:lucenejavt", "qt", "/spellCheckCompRH", "spellcheck", "true");
diff --git a/solr/core/src/test/org/apache/solr/pkg/TestPackages.java b/solr/core/src/test/org/apache/solr/pkg/TestPackages.java
index af6545c..afbf7df 100644
--- a/solr/core/src/test/org/apache/solr/pkg/TestPackages.java
+++ b/solr/core/src/test/org/apache/solr/pkg/TestPackages.java
@@ -66,6 +66,7 @@ import java.nio.ByteBuffer;
import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedHashMap;
+import java.util.List;
import java.util.Map;
import java.util.concurrent.Callable;
import java.util.zip.ZipEntry;
@@ -112,6 +113,8 @@ public class TestPackages extends SolrCloudTestCase {
}
+ @AwaitsFix(bugUrl = "https://issues.apache.org/jira/browse/SOLR-15448")
+ @Test
public void testCoreReloadingPlugin() throws Exception {
String FILE1 = "/mypkg/runtimelibs.jar";
String COLLECTION_NAME = "testCoreReloadingPluginColl";
@@ -135,7 +138,7 @@ public class TestPackages extends SolrCloudTestCase {
() -> new V2Request.Builder("/cluster/package").
withMethod(SolrRequest.METHOD.GET)
.build().process(cluster.getSolrClient()),
- Utils.makeMap(
+ Map.of(
":result:packages:mypkg[0]:version", "1.0",
":result:packages:mypkg[0]:files[0]", FILE1
));
@@ -154,7 +157,7 @@ public class TestPackages extends SolrCloudTestCase {
() -> new V2Request.Builder("/cluster/package").
withMethod(SolrRequest.METHOD.GET)
.build().process(cluster.getSolrClient()),
- Utils.makeMap(
+ Map.of(
":result:packages:mypkg[1]:version", "2.0",
":result:packages:mypkg[1]:files[0]", FILE1
));
@@ -164,8 +167,9 @@ public class TestPackages extends SolrCloudTestCase {
COLLECTION_NAME, "query", "filterCache",
"mypkg", "2.0" );
}
+
+ @AwaitsFix(bugUrl = "https://issues.apache.org/jira/browse/SOLR-15448")
@Test
- @SuppressWarnings({"unchecked"})
public void testPluginLoading() throws Exception {
String FILE1 = "/mypkg/runtimelibs.jar";
String FILE2 = "/mypkg/runtimelibs_v2.jar";
@@ -207,7 +211,7 @@ public class TestPackages extends SolrCloudTestCase {
() -> new V2Request.Builder("/cluster/package").
withMethod(SolrRequest.METHOD.GET)
.build().process(cluster.getSolrClient()),
- Utils.makeMap(
+ Map.of(
":result:packages:mypkg[0]:version", "1.0",
":result:packages:mypkg[0]:files[0]", FILE1
));
@@ -268,10 +272,10 @@ public class TestPackages extends SolrCloudTestCase {
TestDistribPackageStore.assertResponseValues(10,
cluster.getSolrClient() ,
new GenericSolrRequest(SolrRequest.METHOD.GET,
- "/stream", new MapSolrParams((Map) Utils.makeMap("collection", COLLECTION_NAME,
+ "/stream", new MapSolrParams(Map.of("collection", COLLECTION_NAME,
WT, JAVABIN,
"action", "plugins"
- ))), Utils.makeMap(
+ ))), Map.of(
":plugins:mincopy", "org.apache.solr.client.solrj.io.stream.metrics.MinCopyMetric"
));
@@ -288,17 +292,17 @@ public class TestPackages extends SolrCloudTestCase {
executeReq( "/" + COLLECTION_NAME + "/runtime?wt=javabin", cluster.getRandomJetty(random()),
Utils.JAVABINCONSUMER,
- Utils.makeMap("class", "org.apache.solr.core.RuntimeLibReqHandler"));
+ Map.of("class", "org.apache.solr.core.RuntimeLibReqHandler"));
executeReq( "/" + COLLECTION_NAME + "/get?wt=json", cluster.getRandomJetty(random()),
Utils.JSONCONSUMER,
- Utils.makeMap("class", "org.apache.solr.core.RuntimeLibSearchComponent",
+ Map.of("class", "org.apache.solr.core.RuntimeLibSearchComponent",
"Version","1"));
executeReq( "/" + COLLECTION_NAME + "/runtime?wt=json1", cluster.getRandomJetty(random()),
Utils.JSONCONSUMER,
- Utils.makeMap("wt", "org.apache.solr.core.RuntimeLibResponseWriter"));
+ Map.of("wt", "org.apache.solr.core.RuntimeLibResponseWriter"));
//now upload the second jar
postFileAndWait(cluster, "runtimecode/runtimelibs_v2.jar.bin", FILE2,
@@ -330,7 +334,7 @@ public class TestPackages extends SolrCloudTestCase {
executeReq( "/" + COLLECTION_NAME + "/get?wt=json", cluster.getRandomJetty(random()),
Utils.JSONCONSUMER,
- Utils.makeMap( "Version","2"));
+ Map.of( "Version","2"));
//now upload the third jar
@@ -356,7 +360,7 @@ public class TestPackages extends SolrCloudTestCase {
executeReq( "/" + COLLECTION_NAME + "/runtime?wt=json", cluster.getRandomJetty(random()),
Utils.JSONCONSUMER,
- Utils.makeMap("Version","2"));
+ Map.of("Version","2"));
//insert a doc with urp
ur = new UpdateRequest();
@@ -497,7 +501,7 @@ public class TestPackages extends SolrCloudTestCase {
.process(cluster.getSolrClient());
cluster.waitForActiveCollection(COLLECTION_NAME, 2, 5);
checkAllNodesForFile(cluster,FILE3,
- Utils.makeMap(":files:" + FILE3 + ":name", "runtimelibs_v3.jar"),
+ Map.of(":files:" + FILE3 + ":name", "runtimelibs_v3.jar"),
false);
}
@SuppressWarnings({"unchecked","rawtypes"})
@@ -517,8 +521,7 @@ public class TestPackages extends SolrCloudTestCase {
private void verifyComponent(SolrClient client, String COLLECTION_NAME,
String componentType, String componentName, String pkg, String version) throws Exception {
- @SuppressWarnings({"unchecked"})
- SolrParams params = new MapSolrParams((Map) Utils.makeMap("collection", COLLECTION_NAME,
+ SolrParams params = new MapSolrParams(Map.of("collection", COLLECTION_NAME,
WT, JAVABIN,
"componentName", componentName,
"meta", "true"));
@@ -527,13 +530,14 @@ public class TestPackages extends SolrCloudTestCase {
"/config/" + componentType, params);
TestDistribPackageStore.assertResponseValues(10,
client,
- req1, Utils.makeMap(
+ req1, Map.of(
":config:" + componentType + ":" + componentName + ":_packageinfo_:package", pkg,
":config:" + componentType + ":" + componentName + ":_packageinfo_:version", version
));
}
@Test
+ @SuppressWarnings("unchecked")
public void testAPI() throws Exception {
String errPath = "/error/details[0]/errorMessages[0]";
String FILE1 = "/mypkg/v.0.12/jar_a.jar";
@@ -543,7 +547,7 @@ public class TestPackages extends SolrCloudTestCase {
Package.AddVersion add = new Package.AddVersion();
add.version = "0.12";
add.pkg = "test_pkg";
- add.files = Arrays.asList(new String[]{FILE1, FILE2});
+ add.files = List.of(FILE1, FILE2);
V2Request req = new V2Request.Builder("/cluster/package")
.forceV2(true)
.withMethod(SolrRequest.METHOD.POST)
@@ -558,7 +562,7 @@ public class TestPackages extends SolrCloudTestCase {
postFileAndWait(cluster, "runtimecode/runtimelibs.jar.bin", FILE1, null);
- add.files = Arrays.asList(new String[]{FILE1});
+ add.files = Collections.singletonList(FILE1);
expectError(req, cluster.getSolrClient(), errPath,
FILE1 + " has no signature");
//now we upload the keys
@@ -569,7 +573,7 @@ public class TestPackages extends SolrCloudTestCase {
"L3q/qIGs4NaF6JiO0ZkMUFa88j0OmYc+I6O7BOdNuMct/xoZ4h73aZHZGc0+nmI1f/U3bOlMPINlSOM6LK3JpQ==");
// with correct signature
//after uploading the file, let's delete the keys to see if we get proper error message
- add.files = Arrays.asList(new String[]{FILE2});
+ add.files = Collections.singletonList(FILE2);
/*expectError(req, cluster.getSolrClient(), errPath,
"ZooKeeper does not have any public keys");*/
@@ -581,11 +585,11 @@ public class TestPackages extends SolrCloudTestCase {
//Now verify the data in ZK
TestDistribPackageStore.assertResponseValues(1,
- () -> new MapWriterMap((Map) Utils.fromJSON(cluster.getZkClient().getData(SOLR_PKGS_PATH,
+ () -> new MapWriterMap((Map<String,Object>) Utils.fromJSON(cluster.getZkClient().getData(SOLR_PKGS_PATH,
null, new Stat(), true))),
- Utils.makeMap(
+ Map.of(
":packages:test_pkg[0]:version", "0.12",
- ":packages:test_pkg[0]:files[0]", FILE1
+ ":packages:test_pkg[0]:files[0]", FILE2
));
//post a new jar with a proper signature
@@ -596,15 +600,15 @@ public class TestPackages extends SolrCloudTestCase {
//this time we are adding the second version of the package (0.13)
add.version = "0.13";
add.pkg = "test_pkg";
- add.files = Arrays.asList(new String[]{FILE3});
+ add.files = Collections.singletonList(FILE3);
//this request should succeed
req.process(cluster.getSolrClient());
//no verify the data (/packages.json) in ZK
TestDistribPackageStore.assertResponseValues(1,
- () -> new MapWriterMap((Map) Utils.fromJSON(cluster.getZkClient().getData(SOLR_PKGS_PATH,
+ () -> new MapWriterMap((Map<String,Object>) Utils.fromJSON(cluster.getZkClient().getData(SOLR_PKGS_PATH,
null, new Stat(), true))),
- Utils.makeMap(
+ Map.of(
":packages:test_pkg[1]:version", "0.13",
":packages:test_pkg[1]:files[0]", FILE3
));
@@ -626,11 +630,11 @@ public class TestPackages extends SolrCloudTestCase {
req.process(cluster.getSolrClient());
//Verify with ZK that the data is correct
TestDistribPackageStore.assertResponseValues(1,
- () -> new MapWriterMap((Map) Utils.fromJSON(cluster.getZkClient().getData(SOLR_PKGS_PATH,
+ () -> new MapWriterMap((Map<String,Object>) Utils.fromJSON(cluster.getZkClient().getData(SOLR_PKGS_PATH,
null, new Stat(), true))),
- Utils.makeMap(
+ Map.of(
":packages:test_pkg[0]:version", "0.13",
- ":packages:test_pkg[0]:files[0]", FILE2
+ ":packages:test_pkg[0]:files[0]", FILE3
));
//So far we have been verifying the details with ZK directly
@@ -644,7 +648,7 @@ public class TestPackages extends SolrCloudTestCase {
return (NavigableObject) Utils.executeGET(solrClient.getHttpClient(), path, Utils.JAVABINCONSUMER);
}
}
- }, Utils.makeMap(
+ }, Map.of(
":result:packages:test_pkg[0]:version", "0.13",
":result:packages:test_pkg[0]:files[0]", FILE3
));
@@ -686,6 +690,8 @@ public class TestPackages extends SolrCloudTestCase {
}
}
+ @AwaitsFix(bugUrl = "https://issues.apache.org/jira/browse/SOLR-15448")
+ @Test
public void testSchemaPlugins() throws Exception {
String COLLECTION_NAME = "testSchemaLoadingColl";
System.setProperty("managed.schema.mutable", "true");
@@ -715,7 +721,7 @@ public class TestPackages extends SolrCloudTestCase {
() -> new V2Request.Builder("/cluster/package").
withMethod(SolrRequest.METHOD.GET)
.build().process(cluster.getSolrClient()),
- Utils.makeMap(
+ Map.of(
":result:packages:schemapkg[0]:version", "1.0",
":result:packages:schemapkg[0]:files[0]", FILE1
));
@@ -726,7 +732,7 @@ public class TestPackages extends SolrCloudTestCase {
cluster.waitForActiveCollection(COLLECTION_NAME, 2, 4);
verifySchemaComponent(cluster.getSolrClient(), COLLECTION_NAME, "/schema/fieldtypes/myNewTextFieldWithAnalyzerClass",
- Utils.makeMap(":fieldType:analyzer:charFilters[0]:_packageinfo_:version" ,"1.0",
+ Map.of(":fieldType:analyzer:charFilters[0]:_packageinfo_:version" ,"1.0",
":fieldType:analyzer:tokenizer:_packageinfo_:version","1.0",
":fieldType:_packageinfo_:version","1.0"));
@@ -745,20 +751,19 @@ public class TestPackages extends SolrCloudTestCase {
() -> new V2Request.Builder("/cluster/package").
withMethod(SolrRequest.METHOD.GET)
.build().process(cluster.getSolrClient()),
- Utils.makeMap(
+ Map.of(
":result:packages:schemapkg[0]:version", "2.0",
":result:packages:schemapkg[0]:files[0]", FILE1
));
verifySchemaComponent(cluster.getSolrClient(), COLLECTION_NAME, "/schema/fieldtypes/myNewTextFieldWithAnalyzerClass",
- Utils.makeMap(":fieldType:analyzer:charFilters[0]:_packageinfo_:version" ,"2.0",
+ Map.of(":fieldType:analyzer:charFilters[0]:_packageinfo_:version" ,"2.0",
":fieldType:analyzer:tokenizer:_packageinfo_:version","2.0",
":fieldType:_packageinfo_:version","2.0"));
}
- @SuppressWarnings({"rawtypes","unchecked"})
private void verifySchemaComponent(SolrClient client, String COLLECTION_NAME, String path,
- Map expected) throws Exception {
- SolrParams params = new MapSolrParams((Map) Utils.makeMap("collection", COLLECTION_NAME,
+ Map<String, Object> expected) throws Exception {
+ SolrParams params = new MapSolrParams(Map.of("collection", COLLECTION_NAME,
WT, JAVABIN,
"meta", "true"));
@@ -777,7 +782,7 @@ public class TestPackages extends SolrCloudTestCase {
fileContent,
path, sig);// has file, but no signature
- TestDistribPackageStore.checkAllNodesForFile(cluster, path, Utils.makeMap(
+ TestDistribPackageStore.checkAllNodesForFile(cluster, path, Map.of(
":files:" + path + ":sha512",
sha512
), false);
diff --git a/solr/core/src/test/org/apache/solr/response/TestGraphMLResponseWriter.java b/solr/core/src/test/org/apache/solr/response/TestGraphMLResponseWriter.java
index 7edffa4..7f68cd2 100644
--- a/solr/core/src/test/org/apache/solr/response/TestGraphMLResponseWriter.java
+++ b/solr/core/src/test/org/apache/solr/response/TestGraphMLResponseWriter.java
@@ -48,7 +48,6 @@ public class TestGraphMLResponseWriter extends SolrTestCaseJ4 {
@SuppressWarnings({"unchecked"})
public void testGraphMLOutput() throws Exception {
SolrQueryRequest request = req("blah", "blah"); // Just need a request to attach the stream and traversal to.
- @SuppressWarnings({"rawtypes"})
SolrQueryResponse response = new SolrQueryResponse();
@SuppressWarnings({"rawtypes"})
Map context = request.getContext();
diff --git a/solr/core/src/test/org/apache/solr/response/TestJavabinTupleStreamParser.java b/solr/core/src/test/org/apache/solr/response/TestJavabinTupleStreamParser.java
index 74e0c95..6cd662e 100644
--- a/solr/core/src/test/org/apache/solr/response/TestJavabinTupleStreamParser.java
+++ b/solr/core/src/test/org/apache/solr/response/TestJavabinTupleStreamParser.java
@@ -96,10 +96,10 @@ public class TestJavabinTupleStreamParser extends SolrTestCaseJ4 {
public void testSimple() throws IOException {
List<Map<String, Object>> l = new ArrayList<>();
- l.add(Utils.makeMap("id", 1, "f", 1.0f, "s", "Some str 1"));
- l.add(Utils.makeMap("id", 2, "f", 2.0f, "s", "Some str 2"));
- l.add(Utils.makeMap("id", 3, "f", 1.0f, "s", "Some str 3"));
- l.add(Utils.makeMap("EOF", true, "RESPONSE_TIME", 206, "sleepMillis", 1000));
+ l.add(Map.of("id", 1, "f", 1.0f, "s", "Some str 1"));
+ l.add(Map.of("id", 2, "f", 2.0f, "s", "Some str 2"));
+ l.add(Map.of("id", 3, "f", 1.0f, "s", "Some str 3"));
+ l.add(Map.of("EOF", true, "RESPONSE_TIME", 206, "sleepMillis", 1000));
Iterator<Map<String, Object>> iterator = l.iterator();
TupleStream tupleStream = new TupleStream() {
@Override
diff --git a/solr/core/src/test/org/apache/solr/schema/SchemaApiFailureTest.java b/solr/core/src/test/org/apache/solr/schema/SchemaApiFailureTest.java
index b4c2129..1634326 100644
--- a/solr/core/src/test/org/apache/solr/schema/SchemaApiFailureTest.java
+++ b/solr/core/src/test/org/apache/solr/schema/SchemaApiFailureTest.java
@@ -17,6 +17,7 @@
package org.apache.solr.schema;
+import java.util.Map;
import java.util.concurrent.TimeUnit;
import org.apache.solr.client.solrj.impl.BaseHttpSolrClient;
@@ -48,7 +49,7 @@ public class SchemaApiFailureTest extends SolrCloudTestCase {
public void testAddTheSameFieldTwice() throws Exception {
CloudSolrClient client = cluster.getSolrClient();
SchemaRequest.Update fieldAddition = new SchemaRequest.AddField
- (Utils.makeMap("name","myfield", "type","string"));
+ (Map.of("name","myfield", "type","string"));
SchemaResponse.UpdateResponse updateResponse = fieldAddition.process(client, COLLECTION);
BaseHttpSolrClient.RemoteExecutionException ex = expectThrows(BaseHttpSolrClient.RemoteExecutionException.class,
diff --git a/solr/core/src/test/org/apache/solr/search/RankQueryTestPlugin.java b/solr/core/src/test/org/apache/solr/search/RankQueryTestPlugin.java
index 120847b..69d8255 100644
--- a/solr/core/src/test/org/apache/solr/search/RankQueryTestPlugin.java
+++ b/solr/core/src/test/org/apache/solr/search/RankQueryTestPlugin.java
@@ -670,7 +670,7 @@ public class RankQueryTestPlugin extends QParserPlugin {
private List<ScoreDoc> list = new ArrayList<>();
@SuppressWarnings({"unchecked"})
- public TestCollector(@SuppressWarnings({"rawtypes"})PriorityQueue pq) {
+ public TestCollector(PriorityQueue pq) {
super(pq);
}
@@ -738,7 +738,7 @@ public class RankQueryTestPlugin extends QParserPlugin {
private List<ScoreDoc> list = new ArrayList<>();
@SuppressWarnings({"unchecked"})
- public TestCollector1(@SuppressWarnings({"rawtypes"})PriorityQueue pq) {
+ public TestCollector1(PriorityQueue pq) {
super(pq);
}
diff --git a/solr/core/src/test/org/apache/solr/search/TestMaxScoreQueryParser.java b/solr/core/src/test/org/apache/solr/search/TestMaxScoreQueryParser.java
index 82ed69c..796e8c4 100644
--- a/solr/core/src/test/org/apache/solr/search/TestMaxScoreQueryParser.java
+++ b/solr/core/src/test/org/apache/solr/search/TestMaxScoreQueryParser.java
@@ -29,6 +29,7 @@ import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.common.params.MapSolrParams;
import org.apache.solr.common.params.ModifiableSolrParams;
import org.apache.solr.legacy.LegacyNumericRangeQuery;
+import org.hamcrest.Matchers;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -58,15 +59,14 @@ public class TestMaxScoreQueryParser extends SolrTestCaseJ4 {
assertEquals(new BoostQuery(new TermQuery(new Term("text", "foo")), 3f), q);
q = parse("price:[0 TO 10]");
- @SuppressWarnings({"rawtypes"})
- Class expected = LegacyNumericRangeQuery.class;
+ Class<? extends Query> expected = LegacyNumericRangeQuery.class;
if (Boolean.getBoolean(NUMERIC_POINTS_SYSPROP)) {
expected = PointRangeQuery.class;
if (Boolean.getBoolean(NUMERIC_DOCVALUES_SYSPROP)) {
expected = IndexOrDocValuesQuery.class;
}
}
- assertTrue(expected + " vs actual: " + q.getClass(), expected.isInstance(q));
+ assertThat(q, Matchers.instanceOf(expected));
}
@Test
diff --git a/solr/core/src/test/org/apache/solr/search/TestTaskManagement.java b/solr/core/src/test/org/apache/solr/search/TestTaskManagement.java
index daf70e5..7f54385 100644
--- a/solr/core/src/test/org/apache/solr/search/TestTaskManagement.java
+++ b/solr/core/src/test/org/apache/solr/search/TestTaskManagement.java
@@ -194,7 +194,6 @@ public class TestTaskManagement extends SolrCloudTestCase {
GenericSolrRequest request = new GenericSolrRequest(SolrRequest.METHOD.GET, "/tasks/list", params);
NamedList<Object> queryResponse = cluster.getSolrClient().request(request);
- @SuppressWarnings({"unchecked"})
String result = (String) queryResponse.get("taskStatus");
assertTrue(result.contains("inactive"));
diff --git a/solr/core/src/test/org/apache/solr/search/facet/TestCloudJSONFacetSKGEquiv.java b/solr/core/src/test/org/apache/solr/search/facet/TestCloudJSONFacetSKGEquiv.java
index 293463e..021eb13 100644
--- a/solr/core/src/test/org/apache/solr/search/facet/TestCloudJSONFacetSKGEquiv.java
+++ b/solr/core/src/test/org/apache/solr/search/facet/TestCloudJSONFacetSKGEquiv.java
@@ -544,7 +544,7 @@ public class TestCloudJSONFacetSKGEquiv extends SolrCloudTestCase {
{ // trivial single level facet w/ prefix
Map<String,TermFacet> facets = new LinkedHashMap<>();
facets.put("xxx", new TermFacet(multiStrField(9),
- map("prefix", "2")));
+ Map.of("prefix", "2")));
assertFacetSKGsAreConsistent(facets, multiStrField(7)+":11", multiStrField(5)+":9", "*:*");
@@ -841,11 +841,11 @@ public class TestCloudJSONFacetSKGEquiv extends SolrCloudTestCase {
/** Assumes null for fore/back queries w/no options */
public RelatednessFacet() {
- this(null, null, map());
+ this(null, null, Collections.emptyMap());
}
/** Assumes no options */
public RelatednessFacet(final String foreQ, final String backQ) {
- this(foreQ, backQ, map());
+ this(foreQ, backQ, Collections.emptyMap());
}
public RelatednessFacet(final String foreQ, final String backQ,
final Map<String,Object> options) {
diff --git a/solr/core/src/test/org/apache/solr/security/BasicAuthIntegrationTest.java b/solr/core/src/test/org/apache/solr/security/BasicAuthIntegrationTest.java
index c23a4f0..dacc842 100644
--- a/solr/core/src/test/org/apache/solr/security/BasicAuthIntegrationTest.java
+++ b/solr/core/src/test/org/apache/solr/security/BasicAuthIntegrationTest.java
@@ -188,7 +188,7 @@ public class BasicAuthIntegrationTest extends SolrCloudAuthTestCase {
baseUrl = cluster.getRandomJetty(random()).getBaseUrl().toString();
verifySecurityStatus(cl, baseUrl + authzPrefix, "authorization/user-role/harry", NOT_NULL_PREDICATE, 20);
- executeCommand(baseUrl + authzPrefix, cl, Utils.toJSONString(singletonMap("set-permission", Utils.makeMap
+ executeCommand(baseUrl + authzPrefix, cl, Utils.toJSONString(singletonMap("set-permission", Map.of
("collection", "x",
"path", "/update/*",
"role", "dev"))), "harry", "HarryIsUberCool" );
@@ -196,7 +196,7 @@ public class BasicAuthIntegrationTest extends SolrCloudAuthTestCase {
verifySecurityStatus(cl, baseUrl + authzPrefix, "authorization/permissions[1]/collection", "x", 20);
assertAuthMetricsMinimums(8, 3, 5, 0, 0, 0);
- executeCommand(baseUrl + authzPrefix, cl,Utils.toJSONString(singletonMap("set-permission", Utils.makeMap
+ executeCommand(baseUrl + authzPrefix, cl,Utils.toJSONString(singletonMap("set-permission", Map.of
("name", "collection-admin-edit", "role", "admin"))), "harry", "HarryIsUberCool" );
verifySecurityStatus(cl, baseUrl + authzPrefix, "authorization/permissions[2]/name", "collection-admin-edit", 20);
assertAuthMetricsMinimums(10, 4, 6, 0, 0, 0);
diff --git a/solr/core/src/test/org/apache/solr/security/PKIAuthenticationIntegrationTest.java b/solr/core/src/test/org/apache/solr/security/PKIAuthenticationIntegrationTest.java
index 0bd514b..787da26 100644
--- a/solr/core/src/test/org/apache/solr/security/PKIAuthenticationIntegrationTest.java
+++ b/solr/core/src/test/org/apache/solr/security/PKIAuthenticationIntegrationTest.java
@@ -19,6 +19,7 @@ package org.apache.solr.security;
import javax.servlet.http.HttpServletRequest;
import java.lang.invoke.MethodHandles;
import java.security.Principal;
+import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
import org.apache.http.client.HttpClient;
@@ -35,7 +36,6 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import static java.util.Collections.singletonMap;
-import static org.apache.solr.common.util.Utils.makeMap;
public class PKIAuthenticationIntegrationTest extends SolrCloudAuthTestCase {
@@ -45,8 +45,8 @@ public class PKIAuthenticationIntegrationTest extends SolrCloudAuthTestCase {
@BeforeClass
public static void setupCluster() throws Exception {
final String SECURITY_CONF = Utils.toJSONString
- (makeMap("authorization", singletonMap("class", MockAuthorizationPlugin.class.getName()),
- "authentication", singletonMap("class", MockAuthenticationPlugin.class.getName())));
+ (Map.of("authorization", singletonMap("class", MockAuthorizationPlugin.class.getName()),
+ "authentication", singletonMap("class", MockAuthenticationPlugin.class.getName())));
configureCluster(2)
.addConfig("conf", configset("cloud-minimal"))
diff --git a/solr/core/src/test/org/apache/solr/spelling/SpellCheckCollatorTest.java b/solr/core/src/test/org/apache/solr/spelling/SpellCheckCollatorTest.java
index ebab432..31aac34 100644
--- a/solr/core/src/test/org/apache/solr/spelling/SpellCheckCollatorTest.java
+++ b/solr/core/src/test/org/apache/solr/spelling/SpellCheckCollatorTest.java
@@ -328,7 +328,6 @@ public class SpellCheckCollatorTest extends SolrTestCaseJ4 {
// All words are "correct" per the dictionary, but this collation would
// return no results if tried.
SolrRequestHandler handler = core.getRequestHandler("/spellCheckCompRH");
- @SuppressWarnings({"rawtypes"})
SolrQueryResponse rsp = new SolrQueryResponse();
rsp.addResponseHeader(new SimpleOrderedMap());
SolrQueryRequest req = new LocalSolrQueryRequest(core, params);
diff --git a/solr/core/src/test/org/apache/solr/update/TestUpdate.java b/solr/core/src/test/org/apache/solr/update/TestUpdate.java
index d93b844..b7bae0f 100644
--- a/solr/core/src/test/org/apache/solr/update/TestUpdate.java
+++ b/solr/core/src/test/org/apache/solr/update/TestUpdate.java
@@ -48,7 +48,7 @@ public class TestUpdate extends SolrTestCaseJ4 {
}
- public void doUpdateTest(@SuppressWarnings({"rawtypes"})Callable afterUpdate) throws Exception {
+ public void doUpdateTest(Callable<Void> afterUpdate) throws Exception {
clearIndex();
afterUpdate.call();
diff --git a/solr/core/src/test/org/apache/solr/util/TestCircuitBreaker.java b/solr/core/src/test/org/apache/solr/util/TestCircuitBreaker.java
index 9b1075c..9c48c8c 100644
--- a/solr/core/src/test/org/apache/solr/util/TestCircuitBreaker.java
+++ b/solr/core/src/test/org/apache/solr/util/TestCircuitBreaker.java
@@ -48,7 +48,6 @@ import org.slf4j.LoggerFactory;
import static org.hamcrest.CoreMatchers.containsString;
-@SuppressWarnings({"rawtypes"})
public class TestCircuitBreaker extends SolrTestCaseJ4 {
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
private final static int NUM_DOCS = 20;
diff --git a/solr/core/src/test/org/apache/solr/util/stats/MetricUtilsTest.java b/solr/core/src/test/org/apache/solr/util/stats/MetricUtilsTest.java
index e95bea4..3fdd282 100644
--- a/solr/core/src/test/org/apache/solr/util/stats/MetricUtilsTest.java
+++ b/solr/core/src/test/org/apache/solr/util/stats/MetricUtilsTest.java
@@ -121,7 +121,6 @@ public class MetricUtilsTest extends SolrTestCaseJ4 {
MetricUtils.toMaps(registry, Collections.singletonList(MetricFilter.ALL), MetricFilter.ALL,
MetricUtils.ALL_PROPERTIES, false, false, false, false, (k, o) -> {
- @SuppressWarnings({"rawtypes"})
Map<String, Object> v = new HashMap<>();
if (o != null) {
((MapWriter) o).toMap(v);
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/SolrClient.java b/solr/solrj/src/java/org/apache/solr/client/solrj/SolrClient.java
index cee4e9a..b23c9de 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/SolrClient.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/SolrClient.java
@@ -1273,7 +1273,7 @@ public abstract class SolrClient implements Serializable, Closeable {
* @throws IOException If there is a low-level I/O error.
* @throws SolrServerException if there is an error on the server
*/
- public abstract NamedList<Object> request(@SuppressWarnings({"rawtypes"})final SolrRequest request, String collection)
+ public abstract NamedList<Object> request(final SolrRequest<?> request, String collection)
throws SolrServerException, IOException;
/**
@@ -1286,7 +1286,7 @@ public abstract class SolrClient implements Serializable, Closeable {
* @throws IOException If there is a low-level I/O error.
* @throws SolrServerException if there is an error on the server
*/
- public final NamedList<Object> request(@SuppressWarnings({"rawtypes"})final SolrRequest request) throws SolrServerException, IOException {
+ public final NamedList<Object> request(final SolrRequest<?> request) throws SolrServerException, IOException {
return request(request, null);
}
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/beans/DocumentObjectBinder.java b/solr/solrj/src/java/org/apache/solr/client/solrj/beans/DocumentObjectBinder.java
index 9dc10d8..68b3410 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/beans/DocumentObjectBinder.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/beans/DocumentObjectBinder.java
@@ -37,8 +37,7 @@ import java.nio.ByteBuffer;
*/
public class DocumentObjectBinder {
- @SuppressWarnings({"rawtypes"})
- private final Map<Class, List<DocField>> infocache = new ConcurrentHashMap<>();
+ private final Map<Class<?>, List<DocField>> infocache = new ConcurrentHashMap<>();
public DocumentObjectBinder() {
}
@@ -119,7 +118,7 @@ public class DocumentObjectBinder {
}
}
- private List<DocField> getDocFields(@SuppressWarnings({"rawtypes"})Class clazz) {
+ private List<DocField> getDocFields(Class<?> clazz) {
List<DocField> fields = infocache.get(clazz);
if (fields == null) {
synchronized(infocache) {
@@ -130,10 +129,9 @@ public class DocumentObjectBinder {
}
@SuppressForbidden(reason = "Needs access to possibly private @Field annotated fields/methods")
- private List<DocField> collectInfo(@SuppressWarnings({"rawtypes"})Class clazz) {
+ private List<DocField> collectInfo(Class<?> clazz) {
List<DocField> fields = new ArrayList<>();
- @SuppressWarnings({"rawtypes"})
- Class superClazz = clazz;
+ Class<?> superClazz = clazz;
List<AccessibleObject> members = new ArrayList<>();
while (superClazz != null && superClazz != Object.class) {
@@ -163,8 +161,7 @@ public class DocumentObjectBinder {
private java.lang.reflect.Field field;
private Method setter;
private Method getter;
- @SuppressWarnings({"rawtypes"})
- private Class type;
+ private Class<?> type;
private boolean isArray;
private boolean isList;
private List<DocField> child;
@@ -235,8 +232,7 @@ public class DocumentObjectBinder {
if (field != null) {
type = field.getType();
} else {
- @SuppressWarnings({"rawtypes"})
- Class[] params = setter.getParameterTypes();
+ Class<?>[] params = setter.getParameterTypes();
if (params.length != 1) {
throw new BindingException("Invalid setter method (" + setter +
"). A setter must have one and only one parameter but we found " + params.length + " parameters.");
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/beans/Field.java b/solr/solrj/src/java/org/apache/solr/client/solrj/beans/Field.java
index 39f6752..9bfa80a 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/beans/Field.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/beans/Field.java
@@ -26,7 +26,7 @@ import java.lang.annotation.Retention;
/**
* This class can be used to annotate a field or a setter an any class
- * and SlrJ would help you convert to SolrInputDocument and from SolrDocument
+ * and SolrJ would help you convert to SolrInputDocument and from SolrDocument
*
* @since solr 1.3
*/
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/DelegatingCloudManager.java b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/DelegatingCloudManager.java
index 98dee96..dde4093 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/DelegatingCloudManager.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/DelegatingCloudManager.java
@@ -73,7 +73,7 @@ public class DelegatingCloudManager implements SolrCloudManager {
}
@Override
- public SolrResponse request(@SuppressWarnings({"rawtypes"})SolrRequest req) throws IOException {
+ public <T extends SolrResponse> T request(SolrRequest<T> req) throws IOException {
return delegate.request(req);
}
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/SolrCloudManager.java b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/SolrCloudManager.java
index dc84440..3e7af6d 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/SolrCloudManager.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/cloud/SolrCloudManager.java
@@ -48,7 +48,7 @@ public interface SolrCloudManager extends SolrCloseable {
// Solr-like methods
- SolrResponse request(@SuppressWarnings({"rawtypes"})SolrRequest req) throws IOException;
+ <T extends SolrResponse> T request(SolrRequest<T> req) throws IOException;
byte[] httpRequest(String url, SolrRequest.METHOD method, Map<String, String> headers, String payload, int timeout, boolean followRedirects) throws IOException;
}
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/BaseCloudSolrClient.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/BaseCloudSolrClient.java
index abed2aa..1763895 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/BaseCloudSolrClient.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/BaseCloudSolrClient.java
@@ -538,8 +538,7 @@ public abstract class BaseCloudSolrClient extends SolrClient {
}
final NamedList<Throwable> exceptions = new NamedList<>();
- @SuppressWarnings({"rawtypes"})
- final NamedList<NamedList> shardResponses = new NamedList<>(routes.size()+1); // +1 for deleteQuery
+ final NamedList<NamedList<?>> shardResponses = new NamedList<>(routes.size()+1); // +1 for deleteQuery
long start = System.nanoTime();
@@ -848,7 +847,7 @@ public abstract class BaseCloudSolrClient extends SolrClient {
}
@Override
- public NamedList<Object> request(@SuppressWarnings({"rawtypes"})SolrRequest request, String collection) throws SolrServerException, IOException {
+ public NamedList<Object> request(SolrRequest<?> request, String collection) throws SolrServerException, IOException {
// the collection parameter of the request overrides that of the parameter to this method
String requestCollection = request.getCollection();
if (requestCollection != null) {
@@ -866,7 +865,7 @@ public abstract class BaseCloudSolrClient extends SolrClient {
* there's a chance that the request will fail due to cached stale state,
* which means the state must be refreshed from ZK and retried.
*/
- protected NamedList<Object> requestWithRetryOnStaleState(@SuppressWarnings({"rawtypes"})SolrRequest request, int retryCount, List<String> inputCollections)
+ protected NamedList<Object> requestWithRetryOnStaleState(SolrRequest<?> request, int retryCount, List<String> inputCollections)
throws SolrServerException, IOException {
connect(); // important to call this before you start working with the ZkStateReader
@@ -1051,7 +1050,7 @@ public abstract class BaseCloudSolrClient extends SolrClient {
return resp;
}
- protected NamedList<Object> sendRequest(@SuppressWarnings({"rawtypes"})SolrRequest request, List<String> inputCollections)
+ protected NamedList<Object> sendRequest(SolrRequest<?> request, List<String> inputCollections)
throws SolrServerException, IOException {
connect();
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/BaseHttpClusterStateProvider.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/BaseHttpClusterStateProvider.java
index 55fa3b5..5f79206 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/BaseHttpClusterStateProvider.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/BaseHttpClusterStateProvider.java
@@ -44,7 +44,6 @@ import org.slf4j.LoggerFactory;
import static org.apache.solr.client.solrj.impl.BaseHttpSolrClient.*;
-@SuppressWarnings({"unchecked"})
public abstract class BaseHttpClusterStateProvider implements ClusterStateProvider {
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
@@ -109,7 +108,7 @@ public abstract class BaseHttpClusterStateProvider implements ClusterStateProvid
+ " solrUrl(s) or zkHost(s).");
}
- @SuppressWarnings({"rawtypes"})
+ @SuppressWarnings({"rawtypes", "unchecked"})
private ClusterState fetchClusterState(SolrClient client, String collection, Map<String, Object> clusterProperties) throws SolrServerException, IOException, NotACollectionException {
ModifiableSolrParams params = new ModifiableSolrParams();
if (collection != null) {
@@ -180,7 +179,7 @@ public abstract class BaseHttpClusterStateProvider implements ClusterStateProvid
}
}
- @SuppressWarnings({"rawtypes"})
+ @SuppressWarnings({"rawtypes", "unchecked"})
private static Set<String> fetchLiveNodes(SolrClient client) throws Exception {
ModifiableSolrParams params = new ModifiableSolrParams();
params.set("action", "CLUSTERSTATUS");
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ClusterStateProvider.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ClusterStateProvider.java
index fcd9e29..e7441dc 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ClusterStateProvider.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/ClusterStateProvider.java
@@ -99,9 +99,8 @@ public interface ClusterStateProvider extends SolrCloseable {
/**
* Obtain a cluster property, or null if it doesn't exist.
*/
- @SuppressWarnings({"unchecked"})
- default <T> T getClusterProperty(String propertyName) {
- return (T) getClusterProperties().get(propertyName);
+ default Object getClusterProperty(String propertyName) {
+ return getClusterProperties().get(propertyName);
}
/**
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2ClusterStateProvider.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2ClusterStateProvider.java
index 1f801c9..335684a 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2ClusterStateProvider.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/Http2ClusterStateProvider.java
@@ -22,7 +22,6 @@ import java.util.List;
import org.apache.solr.client.solrj.SolrClient;
-@SuppressWarnings({"unchecked"})
public class Http2ClusterStateProvider extends BaseHttpClusterStateProvider {
final Http2SolrClient httpClient;
final boolean closeClient;
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpClusterStateProvider.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpClusterStateProvider.java
index 947e4e7..07fd8f8 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpClusterStateProvider.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/HttpClusterStateProvider.java
@@ -22,7 +22,6 @@ import java.util.List;
import org.apache.http.client.HttpClient;
import org.apache.solr.client.solrj.SolrClient;
-@SuppressWarnings({"unchecked"})
public class HttpClusterStateProvider extends BaseHttpClusterStateProvider {
private final HttpClient httpClient;
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/LBHttpSolrClient.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/LBHttpSolrClient.java
index 0f39fc0..5ffc70c 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/LBHttpSolrClient.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/LBHttpSolrClient.java
@@ -80,11 +80,11 @@ public class LBHttpSolrClient extends LBSolrClient {
*/
@Deprecated
public static class Req extends LBSolrClient.Req {
- public Req(@SuppressWarnings({"rawtypes"})SolrRequest request, List<String> servers) {
+ public Req(SolrRequest<?> request, List<String> servers) {
super(request, servers);
}
- public Req(@SuppressWarnings({"rawtypes"})SolrRequest request, List<String> servers, Integer numServersToTry) {
+ public Req(SolrRequest<?> request, List<String> servers, Integer numServersToTry) {
super(request, servers, numServersToTry);
}
}
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/LBSolrClient.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/LBSolrClient.java
index 5488f66..9fe39a3 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/LBSolrClient.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/LBSolrClient.java
@@ -232,6 +232,7 @@ public abstract class LBSolrClient extends SolrClient {
}
}
+ // Req should be parameterized too, but that touches a whole lotta code
public static class Req {
@SuppressWarnings({"rawtypes"})
protected SolrRequest request;
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientCloudManager.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientCloudManager.java
index e1a9fd8..09c683c8 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientCloudManager.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientCloudManager.java
@@ -124,7 +124,7 @@ public class SolrClientCloudManager implements SolrCloudManager {
}
@Override
- public SolrResponse request(@SuppressWarnings({"rawtypes"})SolrRequest req) throws IOException {
+ public <T extends SolrResponse> T request(SolrRequest<T> req) throws IOException {
try {
return req.process(solrClient);
} catch (SolrServerException e) {
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientNodeStateProvider.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientNodeStateProvider.java
index a6ae53e..c6d3622 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientNodeStateProvider.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrClientNodeStateProvider.java
@@ -378,12 +378,10 @@ public class SolrClientNodeStateProvider implements NodeStateProvider, MapWriter
public final String tagName, metricsAttribute;
- @SuppressWarnings("rawtypes")
- public final Class type;
+ public final Class<?> type;
- @SuppressWarnings("rawtypes")
- Variable(String tagName, String metricsAttribute, Class type) {
+ Variable(String tagName, String metricsAttribute, Class<?> type) {
this.tagName = tagName;
this.metricsAttribute = metricsAttribute;
this.type = type;
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrHttpRequestRetryHandler.java b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrHttpRequestRetryHandler.java
index c628bb6..4642db8 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrHttpRequestRetryHandler.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/impl/SolrHttpRequestRetryHandler.java
@@ -82,7 +82,6 @@ public class SolrHttpRequestRetryHandler implements HttpRequestRetryHandler {
* how many times to retry; 0 means no retries
* true if it's OK to retry non-idempotent requests that have been sent
*/
- @SuppressWarnings("unchecked")
public SolrHttpRequestRetryHandler(final int retryCount) {
this(retryCount, Arrays.asList(InterruptedIOException.class, UnknownHostException.class,
ConnectException.class, SSLException.class));
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/ModelCache.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/ModelCache.java
index a77380a..123e4c9 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/ModelCache.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/ModelCache.java
@@ -136,7 +136,7 @@ public class ModelCache {
this.maxSize = maxSize;
}
- public boolean removeEldestEntry(@SuppressWarnings({"rawtypes"})Map.Entry eldest) {
+ public boolean removeEldestEntry(Map.Entry<String, Model> eldest) {
if(size()> maxSize) {
return true;
} else {
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/FieldValueEvaluator.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/FieldValueEvaluator.java
index 065f3d4..73bc0c7 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/FieldValueEvaluator.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/FieldValueEvaluator.java
@@ -42,7 +42,6 @@ public class FieldValueEvaluator extends SourceEvaluator {
}
@Override
- @SuppressWarnings({"unchecked"})
public Object evaluate(Tuple tuple) throws IOException {
Object value = tuple.get(fieldName);
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/IsNullEvaluator.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/IsNullEvaluator.java
index 5707922..9ba71ae 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/IsNullEvaluator.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/IsNullEvaluator.java
@@ -17,7 +17,6 @@
package org.apache.solr.client.solrj.io.eval;
import java.io.IOException;
-import java.util.Map;
import java.util.Locale;
import org.apache.solr.client.solrj.io.stream.expr.StreamExpression;
@@ -42,9 +41,7 @@ public class IsNullEvaluator extends RecursiveBooleanEvaluator implements ManyVa
if(values[0] instanceof String) {
//Check to see if the this tuple had a null value for that string.
- @SuppressWarnings({"rawtypes"})
- Map tupleContext = getStreamContext().getTupleContext();
- String nullField = (String)tupleContext.get("null");
+ String nullField = getStreamContext().getTupleContext().get("null");
if(nullField != null && nullField.equals(values[0])) {
return true;
}
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/NotNullEvaluator.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/NotNullEvaluator.java
index a7282d1..250cb74 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/NotNullEvaluator.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/NotNullEvaluator.java
@@ -17,7 +17,6 @@
package org.apache.solr.client.solrj.io.eval;
import java.io.IOException;
-import java.util.Map;
import java.util.Locale;
import org.apache.solr.client.solrj.io.stream.expr.StreamExpression;
@@ -42,9 +41,7 @@ public class NotNullEvaluator extends RecursiveBooleanEvaluator implements ManyV
if(values[0] instanceof String) {
//Check to see if the this tuple had a null value for that string.
- @SuppressWarnings({"rawtypes"})
- Map tupleContext = getStreamContext().getTupleContext();
- String nullField = (String)tupleContext.get("null");
+ String nullField = getStreamContext().getTupleContext().get("null");
if(nullField != null && nullField.equals(values[0])) {
return false;
}
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/graph/GatherNodesStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/graph/GatherNodesStream.java
index 3f65bd8..77a01de 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/graph/GatherNodesStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/graph/GatherNodesStream.java
@@ -419,8 +419,8 @@ public class GatherNodesStream extends TupleStream implements Expressible {
localContext.setSolrClientCache(context.getSolrClientCache());
localContext.setStreamFactory(context.getStreamFactory());
- for(Object key :context.getEntries().keySet()) {
- localContext.put(key, context.get(key));
+ for(Map.Entry<String, Object> entry : context.getEntries().entrySet()) {
+ localContext.put(entry.getKey(), entry.getValue());
}
traversal = new Traversal();
@@ -445,7 +445,6 @@ public class GatherNodesStream extends TupleStream implements Expressible {
tupleStream.open();
}
- @SuppressWarnings({"unchecked"})
private class JoinRunner implements Callable<List<Tuple>> {
private List<String> nodes;
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 63ff226..d43c780 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
@@ -35,8 +35,7 @@ class ResultSetMetaDataImpl implements ResultSetMetaData {
this.firstTuple = this.resultSet.getFirstTuple();
}
- @SuppressWarnings({"rawtypes"})
- private Class getColumnClass(int column) throws SQLException {
+ private Class<?> getColumnClass(int column) throws SQLException {
Object o = this.firstTuple.get(this.getColumnLabel(column));
if(o == null) {
return String.class; //Nulls will only be present with Strings.
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/SelectStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/SelectStream.java
index 62e490a..4f0a6c0 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/SelectStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/SelectStream.java
@@ -74,7 +74,6 @@ public class SelectStream extends TupleStream implements Expressible {
selectedEvaluators = new LinkedHashMap<>();
}
- @SuppressWarnings({"unchecked"})
public SelectStream(StreamExpression expression,StreamFactory factory) throws IOException {
// grab all parameters out
List<StreamExpression> streamExpressions = factory.getExpressionOperandsRepresentingTypes(expression, Expressible.class, TupleStream.class);
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/StreamContext.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/StreamContext.java
index 921370a..677a661 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/StreamContext.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/StreamContext.java
@@ -38,13 +38,11 @@ import org.apache.solr.common.params.SolrParams;
public class StreamContext implements Serializable {
- @SuppressWarnings({"rawtypes"})
- private Map entries = new HashMap();
- @SuppressWarnings({"rawtypes"})
- private Map tupleContext = new HashMap();
+ private Map<String, Object> entries = new HashMap<String, Object>();
+ private Map<String, String> tupleContext = new HashMap<>();
private Map<String, Object> lets = new HashMap<>();
- @SuppressWarnings({"rawtypes"})
- private ConcurrentMap objectCache;
+ // TODO: This might be ok as a Map<String, Map<String, Object>>
+ private ConcurrentMap<String, Object> objectCache;
public int workerID;
public int numWorkers;
private SolrClientCache clientCache;
@@ -54,12 +52,11 @@ public class StreamContext implements Serializable {
private SolrParams requestParams;
private RequestReplicaListTransformerGenerator requestReplicaListTransformerGenerator;
- @SuppressWarnings({"rawtypes"})
- public ConcurrentMap getObjectCache() {
+ public ConcurrentMap<String, Object> getObjectCache() {
return this.objectCache;
}
- public void setObjectCache(@SuppressWarnings({"rawtypes"})ConcurrentMap objectCache) {
+ public void setObjectCache(ConcurrentMap<String, Object> objectCache) {
this.objectCache = objectCache;
}
@@ -71,8 +68,7 @@ public class StreamContext implements Serializable {
return entries.get(key);
}
- @SuppressWarnings({"unchecked"})
- public void put(Object key, Object value) {
+ public void put(String key, Object value) {
this.entries.put(key, value);
}
@@ -80,8 +76,7 @@ public class StreamContext implements Serializable {
return entries.containsKey(key);
}
- @SuppressWarnings({"rawtypes"})
- public Map getEntries() {
+ public Map<String, Object> getEntries() {
return this.entries;
}
@@ -105,8 +100,8 @@ public class StreamContext implements Serializable {
this.streamFactory = streamFactory;
}
- @SuppressWarnings({"rawtypes"})
- public Map getTupleContext() {
+ // TODO: This could probably be replaced with an Optional, since the only key ever used is "null"
+ public Map<String, String> getTupleContext() {
return tupleContext;
}
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/expr/Explanation.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/expr/Explanation.java
index b62777f..80eccc3 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/expr/Explanation.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/expr/Explanation.java
@@ -128,8 +128,7 @@ public class Explanation implements MapSerializable {
}
@Override
- @SuppressWarnings({"unchecked", "rawtypes"})
- public Map toMap(Map<String, Object> map) {
+ public Map<String,Object> toMap(Map<String, Object> map) {
if(null != expressionNodeId){ map.put("expressionNodeId",expressionNodeId); }
if(null != expressionType){ map.put("expressionType",expressionType); }
if(null != functionName){ map.put("functionName",functionName); }
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/expr/StreamExplanation.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/expr/StreamExplanation.java
index d6e61c4..bfe6651 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/expr/StreamExplanation.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/expr/StreamExplanation.java
@@ -55,7 +55,6 @@ public class StreamExplanation extends Explanation {
children.add(child);
}
- @SuppressWarnings({"unchecked"})
public Map<String,Object> toMap(Map<String,Object> map){
map = super.toMap(map);
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/expr/StreamFactory.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/expr/StreamFactory.java
index f3443e9..8381da1 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/expr/StreamFactory.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/expr/StreamFactory.java
@@ -182,14 +182,12 @@ public class StreamFactory implements Serializable {
return namedParameters;
}
- @SuppressWarnings({"unchecked"})
- public List<StreamExpressionParameter> getOperandsOfType(StreamExpression expression,
- @SuppressWarnings({"rawtypes"})Class ... clazzes) {
+ public List<StreamExpressionParameter> getOperandsOfType(StreamExpression expression, Class<?>... clazzes) {
List<StreamExpressionParameter> parameters = new ArrayList<>();
parameterLoop:
for (StreamExpressionParameter parameter : expression.getParameters()) {
- for (@SuppressWarnings({"rawtypes"})Class clazz : clazzes) {
+ for (Class<?> clazz : clazzes) {
if (!clazz.isAssignableFrom(parameter.getClass())) {
continue parameterLoop; // go to the next parameter since this parameter cannot be assigned to at least one of the classes
}
@@ -199,9 +197,7 @@ public class StreamFactory implements Serializable {
return parameters;
}
- @SuppressWarnings({"unchecked"})
- public List<StreamExpression> getExpressionOperandsRepresentingTypes(StreamExpression expression,
- @SuppressWarnings({"rawtypes"})Class ... clazzes) {
+ public List<StreamExpression> getExpressionOperandsRepresentingTypes(StreamExpression expression, Class<?>... clazzes) {
List<StreamExpression> matchingStreamExpressions = new ArrayList<>();
List<StreamExpression> allStreamExpressions = getExpressionOperands(expression);
@@ -209,7 +205,7 @@ public class StreamFactory implements Serializable {
for (StreamExpression streamExpression : allStreamExpressions) {
Supplier<Class<? extends Expressible>> classSupplier = functionNames.get(streamExpression.getFunctionName());
if (classSupplier != null) {
- for (@SuppressWarnings({"rawtypes"})Class clazz : clazzes) {
+ for (Class<?> clazz : clazzes) {
if (!clazz.isAssignableFrom(classSupplier.get())) {
continue parameterLoop;
}
@@ -220,11 +216,10 @@ public class StreamFactory implements Serializable {
return matchingStreamExpressions;
}
- @SuppressWarnings({"unchecked"})
- public boolean doesRepresentTypes(StreamExpression expression, @SuppressWarnings({"rawtypes"})Class ... clazzes) {
+ public boolean doesRepresentTypes(StreamExpression expression, Class<?>... clazzes) {
Supplier<Class<? extends Expressible>> classSupplier = functionNames.get(expression.getFunctionName());
if (classSupplier != null) {
- for (@SuppressWarnings({"rawtypes"})Class clazz : clazzes) {
+ for (Class<?> clazz : clazzes) {
if (!clazz.isAssignableFrom(classSupplier.get())) {
return false;
}
@@ -270,15 +265,14 @@ public class StreamFactory implements Serializable {
public TupleStream constructStream(String expressionClause) throws IOException {
return constructStream(StreamExpressionParser.parse(expressionClause));
}
- @SuppressWarnings({"rawtypes"})
public TupleStream constructStream(StreamExpression expression) throws IOException {
String function = expression.getFunctionName();
Supplier<Class<? extends Expressible>> classSupplier = functionNames.get(function);
if (classSupplier != null) {
Class<? extends Expressible> clazz = classSupplier.get();
- if (Expressible.class.isAssignableFrom(clazz) && TupleStream.class.isAssignableFrom(clazz)) {
- return (TupleStream)createInstance(clazz, new Class[]{ StreamExpression.class, StreamFactory.class }, new Object[]{ expression, this});
+ if (TupleStream.class.isAssignableFrom(clazz)) {
+ return createInstance(clazz.asSubclass(TupleStream.class), new Class<?>[]{ StreamExpression.class, StreamFactory.class }, new Object[]{ expression, this});
}
}
@@ -289,22 +283,20 @@ public class StreamFactory implements Serializable {
return constructMetric(StreamExpressionParser.parse(expressionClause));
}
- @SuppressWarnings({"rawtypes"})
public Metric constructMetric(StreamExpression expression) throws IOException {
String function = expression.getFunctionName();
Supplier<Class<? extends Expressible>> classSupplier = functionNames.get(function);
if (classSupplier != null) {
Class<? extends Expressible> clazz = classSupplier.get();
- if (Expressible.class.isAssignableFrom(clazz) && Metric.class.isAssignableFrom(clazz)) {
- return (Metric)createInstance(clazz, new Class[]{ StreamExpression.class, StreamFactory.class }, new Object[]{ expression, this});
+ if (Metric.class.isAssignableFrom(clazz)) {
+ return createInstance(clazz.asSubclass(Metric.class), new Class<?>[]{ StreamExpression.class, StreamFactory.class }, new Object[]{ expression, this});
}
}
throw new IOException(String.format(Locale.ROOT, "Invalid metric expression %s - function '%s' is unknown (not mapped to a valid Metric)", expression, expression.getFunctionName()));
}
- @SuppressWarnings({"unchecked", "rawtypes"})
- public StreamComparator constructComparator(String comparatorString, @SuppressWarnings({"rawtypes"})Class comparatorType) throws IOException {
+ public StreamComparator constructComparator(String comparatorString, Class<? extends StreamComparator> comparatorType) throws IOException {
if (comparatorString.contains(",")) {
String[] parts = comparatorString.split(",");
StreamComparator[] comps = new StreamComparator[parts.length];
@@ -342,7 +334,7 @@ public class StreamFactory implements Serializable {
throw new IOException(String.format(Locale.ROOT, "Invalid comparator expression %s - expecting 'left=right order'",comparatorString));
}
- return (StreamComparator) createInstance(comparatorType, new Class[]{ String.class, String.class, ComparatorOrder.class }, new Object[]{ leftFieldName, rightFieldName, ComparatorOrder.fromString(order) });
+ return createInstance(comparatorType, new Class<?>[]{ String.class, String.class, ComparatorOrder.class }, new Object[]{ leftFieldName, rightFieldName, ComparatorOrder.fromString(order) });
} else {
// expected format is "field order"
String[] parts = comparatorString.split(" ");
@@ -353,12 +345,11 @@ public class StreamFactory implements Serializable {
String fieldName = parts[0].trim();
String order = parts[1].trim();
- return (StreamComparator) createInstance(comparatorType, new Class[]{ String.class, ComparatorOrder.class }, new Object[]{ fieldName, ComparatorOrder.fromString(order) });
+ return createInstance(comparatorType, new Class<?>[]{ String.class, ComparatorOrder.class }, new Object[]{ fieldName, ComparatorOrder.fromString(order) });
}
}
- @SuppressWarnings({"unchecked", "rawtypes"})
- public StreamEqualitor constructEqualitor(String equalitorString, Class equalitorType) throws IOException {
+ public StreamEqualitor constructEqualitor(String equalitorString, Class<? extends StreamEqualitor> equalitorType) throws IOException {
if (equalitorString.contains(",")) {
String[] parts = equalitorString.split(",");
StreamEqualitor[] eqs = new StreamEqualitor[parts.length];
@@ -382,7 +373,7 @@ public class StreamFactory implements Serializable {
leftFieldName = rightFieldName = equalitorString.trim();
}
- return (StreamEqualitor) createInstance(equalitorType, new Class[]{ String.class, String.class }, new Object[]{ leftFieldName, rightFieldName });
+ return createInstance(equalitorType, new Class<?>[]{ String.class, String.class }, new Object[]{ leftFieldName, rightFieldName });
}
}
@@ -390,33 +381,31 @@ public class StreamFactory implements Serializable {
return constructMetric(StreamExpressionParser.parse(expressionClause));
}
- @SuppressWarnings({"rawtypes"})
public StreamOperation constructOperation(StreamExpression expression) throws IOException {
String function = expression.getFunctionName();
Supplier<Class<? extends Expressible>> classSupplier = functionNames.get(function);
if (classSupplier != null) {
Class<? extends Expressible> clazz = classSupplier.get();
- if (Expressible.class.isAssignableFrom(clazz) && StreamOperation.class.isAssignableFrom(clazz)) {
- return (StreamOperation) createInstance(clazz, new Class[]{StreamExpression.class, StreamFactory.class}, new Object[]{expression, this});
+ if (StreamOperation.class.isAssignableFrom(clazz)) {
+ return createInstance(clazz.asSubclass(StreamOperation.class), new Class<?>[]{StreamExpression.class, StreamFactory.class}, new Object[]{expression, this});
}
}
throw new IOException(String.format(Locale.ROOT, "Invalid operation expression %s - function '%s' is unknown (not mapped to a valid StreamOperation)", expression, expression.getFunctionName()));
}
- public org.apache.solr.client.solrj.io.eval.StreamEvaluator constructEvaluator(String expressionClause) throws IOException {
+ public StreamEvaluator constructEvaluator(String expressionClause) throws IOException {
return constructEvaluator(StreamExpressionParser.parse(expressionClause));
}
- @SuppressWarnings({"rawtypes"})
- public org.apache.solr.client.solrj.io.eval.StreamEvaluator constructEvaluator(StreamExpression expression) throws IOException {
+ public StreamEvaluator constructEvaluator(StreamExpression expression) throws IOException {
String function = expression.getFunctionName();
Supplier<Class<? extends Expressible>> classSupplier = functionNames.get(function);
if (classSupplier != null) {
Class<? extends Expressible> clazz = classSupplier.get();
- if (Expressible.class.isAssignableFrom(clazz) && StreamEvaluator.class.isAssignableFrom(clazz)) {
- return (org.apache.solr.client.solrj.io.eval.StreamEvaluator)createInstance(clazz, new Class[]{ StreamExpression.class, StreamFactory.class }, new Object[]{ expression, this});
+ if (StreamEvaluator.class.isAssignableFrom(clazz)) {
+ return createInstance(clazz.asSubclass(StreamEvaluator.class), new Class<?>[]{ StreamExpression.class, StreamFactory.class }, new Object[]{ expression, this});
}
}
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionAdminRequest.java b/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionAdminRequest.java
index 607a5a8..273f447 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionAdminRequest.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionAdminRequest.java
@@ -2652,9 +2652,7 @@ public abstract class CollectionAdminRequest<T extends CollectionAdminResponse>
*/
public static class RequestApiDistributedProcessingResponse extends CollectionAdminResponse {
public boolean getIsCollectionApiDistributed() {
- @SuppressWarnings({"rawtypes"})
- Boolean isDistributedApi = (Boolean) getResponse().get("isDistributedApi");
- return isDistributedApi;
+ return (Boolean) getResponse().get("isDistributedApi");
}
}
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionApiMapping.java b/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionApiMapping.java
index b54447c..cda91db 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionApiMapping.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/request/CollectionApiMapping.java
@@ -32,7 +32,6 @@ import org.apache.solr.client.solrj.request.beans.V2ApiConstants;
import org.apache.solr.common.params.CollectionParams.CollectionAction;
import org.apache.solr.common.util.CommandOperation;
import org.apache.solr.common.util.Pair;
-import org.apache.solr.common.util.Utils;
import static org.apache.solr.client.solrj.SolrRequest.METHOD.DELETE;
import static org.apache.solr.client.solrj.SolrRequest.METHOD.GET;
@@ -71,7 +70,7 @@ public class CollectionApiMapping {
POST,
RELOAD,
RELOAD.toLower(),
- Utils.makeMap(NAME, "collection")),
+ Map.of(NAME, "collection")),
MODIFY_COLLECTION(PER_COLLECTION,
POST,
MODIFYCOLLECTION,
@@ -80,7 +79,7 @@ public class CollectionApiMapping {
POST,
MIGRATE,
"migrate-docs",
- Utils.makeMap("split.key", "splitKey",
+ Map.of("split.key", "splitKey",
"target.collection", "target",
"forward.timeout", "forwardTimeout"
)),
@@ -94,8 +93,8 @@ public class CollectionApiMapping {
POST,
CREATESHARD,
"create",
- Utils.makeMap("createNodeSet", V2ApiConstants.NODE_SET),
- Utils.makeMap("property.", "coreProperties.")) {
+ Map.of("createNodeSet", V2ApiConstants.NODE_SET),
+ Map.of("property.", "coreProperties.")) {
@Override
public String getParamSubstitute(String param) {
return super.getParamSubstitute(param);
@@ -106,9 +105,8 @@ public class CollectionApiMapping {
POST,
SPLITSHARD,
"split",
- Utils.makeMap(
- "split.key", "splitKey"),
- Utils.makeMap("property.", "coreProperties.")),
+ Map.of("split.key", "splitKey"),
+ Map.of("property.", "coreProperties.")),
DELETE_SHARD(PER_COLLECTION_PER_SHARD_DELETE,
DELETE, DELETESHARD),
@@ -117,7 +115,7 @@ public class CollectionApiMapping {
ADDREPLICA,
"add-replica",
null,
- Utils.makeMap("property.", "coreProperties.")),
+ Map.of("property.", "coreProperties.")),
DELETE_REPLICA(PER_COLLECTION_PER_SHARD_PER_REPLICA_DELETE,
DELETE, DELETEREPLICA),
@@ -131,7 +129,7 @@ public class CollectionApiMapping {
POST,
CollectionAction.ADDREPLICAPROP,
"add-replica-property",
- Utils.makeMap("property", "name", "property.value", "value")),
+ Map.of("property", "name", "property.value", "value")),
DELETE_REPLICA_PROPERTY(PER_COLLECTION,
POST,
DELETEREPLICAPROP,
@@ -141,7 +139,7 @@ public class CollectionApiMapping {
POST,
COLLECTIONPROP,
"set-collection-property",
- Utils.makeMap(
+ Map.of(
NAME, "collection",
"propertyName", "name",
"propertyValue", "value")),
@@ -171,16 +169,14 @@ public class CollectionApiMapping {
Meta(EndPoint endPoint, SolrRequest.METHOD method, CollectionAction action,
String commandName,
- @SuppressWarnings({"rawtypes"})Map paramsToAttrs) {
+ Map<String, String> paramsToAttrs) {
this(endPoint, method, action, commandName, paramsToAttrs, Collections.emptyMap());
}
- // lame... the Maps aren't typed simply because callers want to use Utils.makeMap which yields object vals
- @SuppressWarnings("unchecked")
Meta(EndPoint endPoint, SolrRequest.METHOD method, CollectionAction action,
String commandName,
- @SuppressWarnings({"rawtypes"})Map paramsToAttrs,
- @SuppressWarnings({"rawtypes"})Map prefixParamsToAttrs) {
+ Map<String, String> paramsToAttrs,
+ Map<String, String> prefixParamsToAttrs) {
this.action = action;
this.commandName = commandName;
this.endPoint = endPoint;
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/request/CoreApiMapping.java b/solr/solrj/src/java/org/apache/solr/client/solrj/request/CoreApiMapping.java
index 164b9ad..74dd466 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/request/CoreApiMapping.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/request/CoreApiMapping.java
@@ -24,7 +24,6 @@ import java.util.Map;
import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.request.CollectionApiMapping.CommandMeta;
import org.apache.solr.common.params.CoreAdminParams.CoreAdminAction;
-import org.apache.solr.common.util.Utils;
import static org.apache.solr.client.solrj.SolrRequest.METHOD.GET;
import static org.apache.solr.client.solrj.SolrRequest.METHOD.POST;
@@ -40,14 +39,14 @@ import static org.apache.solr.client.solrj.request.CoreApiMapping.EndPoint.PER_C
*/
public class CoreApiMapping {
public enum Meta implements CommandMeta {
- CREATE(CORES_COMMANDS, POST, CoreAdminAction.CREATE, "create", Utils.makeMap("config", "configSet")),
+ CREATE(CORES_COMMANDS, POST, CoreAdminAction.CREATE, "create", Collections.singletonMap("config", "configSet")),
UNLOAD(PER_CORE_COMMANDS, POST, CoreAdminAction.UNLOAD, "unload", null),
RELOAD(PER_CORE_COMMANDS, POST, CoreAdminAction.RELOAD, "reload", null),
STATUS(CORES_STATUS, GET, CoreAdminAction.STATUS, "status", null),
- SWAP(PER_CORE_COMMANDS, POST, CoreAdminAction.SWAP, "swap", Utils.makeMap("other", "with")),
- RENAME(PER_CORE_COMMANDS, POST, CoreAdminAction.RENAME, "rename", Utils.makeMap("other", "to")),
+ SWAP(PER_CORE_COMMANDS, POST, CoreAdminAction.SWAP, "swap", Collections.singletonMap("other", "with")),
+ RENAME(PER_CORE_COMMANDS, POST, CoreAdminAction.RENAME, "rename", Collections.singletonMap("other", "to")),
MERGEINDEXES(PER_CORE_COMMANDS, POST, CoreAdminAction.MERGEINDEXES, "merge-indexes", null),
- SPLIT(PER_CORE_COMMANDS, POST, CoreAdminAction.SPLIT, "split", Utils.makeMap("split.key", "splitKey")),
+ SPLIT(PER_CORE_COMMANDS, POST, CoreAdminAction.SPLIT, "split", Collections.singletonMap("split.key", "splitKey")),
PREPRECOVERY(PER_CORE_COMMANDS, POST, CoreAdminAction.PREPRECOVERY, "prep-recovery", null),
REQUESTRECOVERY(PER_CORE_COMMANDS, POST, CoreAdminAction.REQUESTRECOVERY, "request-recovery", null),
REQUESTSYNCSHARD(PER_CORE_COMMANDS, POST, CoreAdminAction.REQUESTSYNCSHARD, "request-sync-shard", null),
@@ -64,13 +63,12 @@ public class CoreApiMapping {
public final CoreAdminAction action;
public final Map<String, String> paramstoAttr;
- @SuppressWarnings({"unchecked"})
Meta(EndPoint endPoint, SolrRequest.METHOD method, CoreAdminAction action, String commandName,
- @SuppressWarnings({"rawtypes"})Map paramstoAttr) {
+ Map<String,String> paramstoAttr) {
this.commandName = commandName;
this.endPoint = endPoint;
this.method = method;
- this.paramstoAttr = paramstoAttr == null ? Collections.EMPTY_MAP : Collections.unmodifiableMap(paramstoAttr);
+ this.paramstoAttr = paramstoAttr == null ? Collections.emptyMap() : paramstoAttr; // expect this to be immutable
this.action = action;
}
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/request/RequestWriter.java b/solr/solrj/src/java/org/apache/solr/client/solrj/request/RequestWriter.java
index 0c69ce8..3838ed6 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/request/RequestWriter.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/request/RequestWriter.java
@@ -92,11 +92,11 @@ public class RequestWriter {
updateRequest.getDocIterator() == null;
}
- public String getPath(@SuppressWarnings({"rawtypes"})SolrRequest req) {
+ public String getPath(SolrRequest<?> req) {
return req.getPath();
}
- public void write(@SuppressWarnings({"rawtypes"})SolrRequest request, OutputStream os) throws IOException {
+ public void write(SolrRequest<?> request, OutputStream os) throws IOException {
if (request instanceof UpdateRequest) {
UpdateRequest updateRequest = (UpdateRequest) request;
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(os, StandardCharsets.UTF_8));
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/request/UpdateRequest.java b/solr/solrj/src/java/org/apache/solr/client/solrj/request/UpdateRequest.java
index 071717b..39c0d07 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/request/UpdateRequest.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/request/UpdateRequest.java
@@ -31,7 +31,6 @@ import java.util.Objects;
import java.util.Set;
import org.apache.solr.client.solrj.SolrClient;
-import org.apache.solr.client.solrj.SolrRequest;
import org.apache.solr.client.solrj.SolrServerException;
import org.apache.solr.client.solrj.impl.LBHttpSolrClient;
import org.apache.solr.client.solrj.impl.LBSolrClient;
@@ -235,7 +234,7 @@ public class UpdateRequest extends AbstractUpdateRequest {
}
private interface ReqSupplier<T extends LBSolrClient.Req> {
- T get(@SuppressWarnings({"rawtypes"})SolrRequest solrRequest, List<String> servers);
+ T get(UpdateRequest request, List<String> servers);
}
private <T extends LBSolrClient.Req> Map<String, T> getRoutes(DocRouter router,
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/response/SpellCheckResponse.java b/solr/solrj/src/java/org/apache/solr/client/solrj/response/SpellCheckResponse.java
index 84138fe..1a1cfb0 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/response/SpellCheckResponse.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/response/SpellCheckResponse.java
@@ -160,7 +160,6 @@ public class SpellCheckResponse {
} else if ("origFreq".equals(n)) {
originalFrequency = (Integer) suggestion.getVal(i);
} else if ("suggestion".equals(n)) {
- @SuppressWarnings("unchecked")
List list = (List)suggestion.getVal(i);
if (list.size() > 0 && list.get(0) instanceof NamedList) {
// extended results detected
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/response/schema/SchemaResponse.java b/solr/solrj/src/java/org/apache/solr/client/solrj/response/schema/SchemaResponse.java
index 7708c73..b93b4f0 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/response/schema/SchemaResponse.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/response/schema/SchemaResponse.java
@@ -81,7 +81,6 @@ public class SchemaResponse extends SolrResponseBase {
return analyzerDefinition;
}
- @SuppressWarnings("unchecked")
private static FieldTypeDefinition createFieldTypeDefinition(NamedList<Object> fieldTypeNamedList) {
FieldTypeDefinition fieldTypeDefinition = new FieldTypeDefinition();
fillFieldTypeDefinition(fieldTypeDefinition, fieldTypeNamedList);
@@ -236,7 +235,6 @@ public class SchemaResponse extends SolrResponseBase {
}
@Override
- @SuppressWarnings("unchecked")
public void setResponse(NamedList<Object> response) {
super.setResponse(response);
@@ -253,7 +251,6 @@ public class SchemaResponse extends SolrResponseBase {
private String schemaName;
@Override
- @SuppressWarnings("unchecked")
public void setResponse(NamedList<Object> response) {
super.setResponse(response);
@@ -270,7 +267,6 @@ public class SchemaResponse extends SolrResponseBase {
private float schemaVersion;
@Override
- @SuppressWarnings("unchecked")
public void setResponse(NamedList<Object> response) {
super.setResponse(response);
@@ -305,7 +301,6 @@ public class SchemaResponse extends SolrResponseBase {
List<Map<String, Object>> fields;
@Override
- @SuppressWarnings("unchecked")
public void setResponse(NamedList<Object> response) {
super.setResponse(response);
@@ -339,7 +334,6 @@ public class SchemaResponse extends SolrResponseBase {
List<Map<String, Object>> dynamicFields;
@Override
- @SuppressWarnings("unchecked")
public void setResponse(NamedList<Object> response) {
super.setResponse(response);
@@ -355,7 +349,6 @@ public class SchemaResponse extends SolrResponseBase {
private String uniqueKey;
@Override
- @SuppressWarnings("unchecked")
public void setResponse(NamedList<Object> response) {
super.setResponse(response);
@@ -371,7 +364,6 @@ public class SchemaResponse extends SolrResponseBase {
Map<String, Object> similarity;
@Override
- @SuppressWarnings("unchecked")
public void setResponse(NamedList<Object> response) {
super.setResponse(response);
@@ -388,7 +380,6 @@ public class SchemaResponse extends SolrResponseBase {
List<Map<String, Object>> copyFields;
@Override
- @SuppressWarnings("unchecked")
public void setResponse(NamedList<Object> response) {
super.setResponse(response);
@@ -422,7 +413,6 @@ public class SchemaResponse extends SolrResponseBase {
List<FieldTypeRepresentation> fieldTypes;
@Override
- @SuppressWarnings("unchecked")
public void setResponse(NamedList<Object> response) {
super.setResponse(response);
@@ -436,7 +426,6 @@ public class SchemaResponse extends SolrResponseBase {
public static class UpdateResponse extends SolrResponseBase {
@Override
- @SuppressWarnings("unchecked")
public void setResponse(NamedList<Object> response) {
super.setResponse(response);
}
diff --git a/solr/solrj/src/java/org/apache/solr/common/MapSerializable.java b/solr/solrj/src/java/org/apache/solr/common/MapSerializable.java
index f56f1b2..8cc6fbd 100644
--- a/solr/solrj/src/java/org/apache/solr/common/MapSerializable.java
+++ b/solr/solrj/src/java/org/apache/solr/common/MapSerializable.java
@@ -26,6 +26,5 @@ public interface MapSerializable {
* Do not keep a reference to the passed map and reuse it.
* it may be reused by the framework
*/
- @SuppressWarnings({"rawtypes"})
- Map toMap(Map<String, Object> map);
+ Map<String, Object> toMap(Map<String, Object> map);
}
diff --git a/solr/solrj/src/java/org/apache/solr/common/MapWriter.java b/solr/solrj/src/java/org/apache/solr/common/MapWriter.java
index 7266410..b7cc4e2 100644
--- a/solr/solrj/src/java/org/apache/solr/common/MapWriter.java
+++ b/solr/solrj/src/java/org/apache/solr/common/MapWriter.java
@@ -41,7 +41,7 @@ public interface MapWriter extends MapSerializable , NavigableObject {
@Override
@SuppressWarnings({"unchecked", "rawtypes"})
- default Map toMap(Map<String, Object> map) {
+ default Map<String,Object> toMap(Map<String, Object> map) {
try {
writeMap(new EntryWriter() {
@Override
diff --git a/solr/solrj/src/java/org/apache/solr/common/MapWriterMap.java b/solr/solrj/src/java/org/apache/solr/common/MapWriterMap.java
index 5e6dfeb..430f436 100644
--- a/solr/solrj/src/java/org/apache/solr/common/MapWriterMap.java
+++ b/solr/solrj/src/java/org/apache/solr/common/MapWriterMap.java
@@ -22,28 +22,24 @@ import java.util.List;
import java.util.Map;
public class MapWriterMap implements MapWriter {
- @SuppressWarnings({"rawtypes"})
- private final Map delegate;
+ private final Map<String, Object> delegate;
- public MapWriterMap(@SuppressWarnings({"rawtypes"})Map delegate) {
+ public MapWriterMap(Map<String,Object> delegate) {
this.delegate = delegate;
}
@Override
- @SuppressWarnings({"unchecked"})
public void writeMap(EntryWriter ew) throws IOException {
delegate.forEach(ew.getBiConsumer());
}
@Override
- @SuppressWarnings({"unchecked"})
public Object _get(String path, Object def) {
if (path.indexOf('/') == -1) return delegate.getOrDefault(path, def);
return MapWriter.super._get(path, def);
}
@Override
- @SuppressWarnings({"unchecked"})
public Object _get(List<String> path, Object def) {
if (path.size() == 1) return delegate.getOrDefault(path.get(0), def);
return MapWriter.super._get(path, def);
@@ -56,7 +52,6 @@ public class MapWriterMap implements MapWriter {
}
@Override
- @SuppressWarnings("unchecked")
public Map<String,Object> toMap(Map<String, Object> map) {
return delegate;
}
diff --git a/solr/solrj/src/java/org/apache/solr/common/SolrException.java b/solr/solrj/src/java/org/apache/solr/common/SolrException.java
index b86d485..d818b3a 100644
--- a/solr/solrj/src/java/org/apache/solr/common/SolrException.java
+++ b/solr/solrj/src/java/org/apache/solr/common/SolrException.java
@@ -226,7 +226,6 @@ public class SolrException extends RuntimeException {
return t;
}
- @SuppressWarnings({"unchecked"})
public void logInfoWithMdc(Logger logger, String msg) {
Map<String, String> previousMdcContext = MDC.getCopyOfContextMap();
MDC.setContextMap(mdcContext);
diff --git a/solr/solrj/src/java/org/apache/solr/common/cloud/Aliases.java b/solr/solrj/src/java/org/apache/solr/common/cloud/Aliases.java
index a87735f..43d452c 100644
--- a/solr/solrj/src/java/org/apache/solr/common/cloud/Aliases.java
+++ b/solr/solrj/src/java/org/apache/solr/common/cloud/Aliases.java
@@ -154,7 +154,6 @@ public class Aliases {
* @return an unmodifiable Map of collection aliases mapped to a comma delimited string of the collection(s) the
* alias maps to. Does not return null.
*/
- @SuppressWarnings("unchecked")
public Map<String, String> getCollectionAliasMap() {
return Collections.unmodifiableMap(convertMapOfListToMapOfCommaDelimited(collectionAliases));
}
diff --git a/solr/solrj/src/java/org/apache/solr/common/cloud/SolrClassLoader.java b/solr/solrj/src/java/org/apache/solr/common/cloud/SolrClassLoader.java
index 98e920d..ac38558 100644
--- a/solr/solrj/src/java/org/apache/solr/common/cloud/SolrClassLoader.java
+++ b/solr/solrj/src/java/org/apache/solr/common/cloud/SolrClassLoader.java
@@ -22,8 +22,7 @@ public interface SolrClassLoader {
<T> T newInstance(String cname, Class<T> expectedType, String... subpackages);
- @SuppressWarnings({"rawtypes"})
- <T> T newInstance(String cName, Class<T> expectedType, String[] subPackages, Class[] params, Object[] args);
+ <T> T newInstance(String cName, Class<T> expectedType, String[] subPackages, Class<?>[] params, Object[] args);
<T> Class<? extends T> findClass(String cname, Class<T> expectedType);
}
\ No newline at end of file
diff --git a/solr/solrj/src/java/org/apache/solr/common/cloud/ZkNodeProps.java b/solr/solrj/src/java/org/apache/solr/common/cloud/ZkNodeProps.java
index 4f6bc42..20b7340 100644
--- a/solr/solrj/src/java/org/apache/solr/common/cloud/ZkNodeProps.java
+++ b/solr/solrj/src/java/org/apache/solr/common/cloud/ZkNodeProps.java
@@ -48,7 +48,7 @@ public class ZkNodeProps implements JSONWriter.Writable {
* Construct ZKNodeProps from map.
*/
public ZkNodeProps(Map<String,Object> propMap) {
- this.propMap = propMap;
+ this.propMap = new HashMap<>(propMap); // We need propMap to be mutable
// don't store base_url if we have a node_name to recompute from when we read back from ZK
// sub-classes that know they need a base_url (Replica) can eagerly compute in their ctor
@@ -80,6 +80,10 @@ public class ZkNodeProps implements JSONWriter.Writable {
this( Utils.makeMap((Object[]) keyVals) );
}
+ /**
+ * @deprecated use {@link ZkNodeProps#ZkNodeProps(String...)}
+ */
+ @Deprecated(since = "9.0.0")
public static ZkNodeProps fromKeyVals(Object... keyVals) {
return new ZkNodeProps( Utils.makeMap(keyVals) );
}
diff --git a/solr/solrj/src/java/org/apache/solr/common/cloud/ZkStateReader.java b/solr/solrj/src/java/org/apache/solr/common/cloud/ZkStateReader.java
index 7ff0b3a..0cfbbab 100644
--- a/solr/solrj/src/java/org/apache/solr/common/cloud/ZkStateReader.java
+++ b/solr/solrj/src/java/org/apache/solr/common/cloud/ZkStateReader.java
@@ -65,7 +65,7 @@ import org.apache.zookeeper.data.Stat;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import static java.util.Collections.EMPTY_MAP;
+import static java.util.Collections.emptyMap;
import static java.util.Collections.emptySortedSet;
import static org.apache.solr.common.cloud.UrlScheme.HTTP;
import static org.apache.solr.common.util.Utils.fromJSON;
@@ -439,7 +439,7 @@ public class ZkStateReader implements SolrCloseable {
if (securityNodeListener != null) {
addSecurityNodeWatcher(pair -> {
ConfigData cd = new ConfigData();
- cd.data = pair.first() == null || pair.first().length == 0 ? EMPTY_MAP : Utils.getDeepCopy((Map) fromJSON(pair.first()), 4, false);
+ cd.data = pair.first() == null || pair.first().length == 0 ? emptyMap() : Utils.getDeepCopy((Map) fromJSON(pair.first()), 4, false);
cd.version = pair.second() == null ? -1 : pair.second().getVersion();
securityData = cd;
securityNodeListener.run();
@@ -1001,13 +1001,14 @@ public class ZkStateReader implements SolrCloseable {
loadClusterProperties();
};
- @SuppressWarnings("unchecked")
private void loadClusterProperties() {
try {
while (true) {
try {
byte[] data = zkClient.getData(ZkStateReader.CLUSTER_PROPS, clusterPropertiesWatcher, new Stat(), true);
- this.clusterProperties = ClusterProperties.convertCollectionDefaultsToNestedFormat((Map<String, Object>) Utils.fromJSON(data));
+ @SuppressWarnings("unchecked")
+ Map<String, Object> properties = (Map<String, Object>) Utils.fromJSON(data);
+ this.clusterProperties = ClusterProperties.convertCollectionDefaultsToNestedFormat(properties);
log.debug("Loaded cluster properties: {}", this.clusterProperties);
// Make the urlScheme globally accessible
@@ -1110,7 +1111,6 @@ public class ZkStateReader implements SolrCloseable {
return COLLECTIONS_ZKNODE + '/' + collection + '/' + COLLECTION_PROPS_ZKNODE;
}
- @SuppressWarnings("unchecked")
private VersionedCollectionProps fetchCollectionProperties(String collection, Watcher watcher) throws KeeperException, InterruptedException {
final String znodePath = getCollectionPropsPath(collection);
// lazy init cache cleaner once we know someone is using collection properties.
@@ -1125,7 +1125,9 @@ public class ZkStateReader implements SolrCloseable {
try {
Stat stat = new Stat();
byte[] data = zkClient.getData(znodePath, watcher, stat, true);
- return new VersionedCollectionProps(stat.getVersion(), (Map<String, String>) Utils.fromJSON(data));
+ @SuppressWarnings("unchecked")
+ Map<String, String> props = (Map<String, String>) Utils.fromJSON(data);
+ return new VersionedCollectionProps(stat.getVersion(), props);
} catch (ClassCastException e) {
throw new SolrException(ErrorCode.SERVER_ERROR, "Unable to parse collection properties for collection " + collection, e);
} catch (KeeperException.NoNodeException e) {
@@ -1138,7 +1140,7 @@ public class ZkStateReader implements SolrCloseable {
continue;
}
}
- return new VersionedCollectionProps(-1, EMPTY_MAP);
+ return new VersionedCollectionProps(-1, emptyMap());
}
}
}
@@ -1147,10 +1149,10 @@ public class ZkStateReader implements SolrCloseable {
* Returns the content of /security.json from ZooKeeper as a Map
* If the files doesn't exist, it returns null.
*/
- @SuppressWarnings({"unchecked"})
+ @SuppressWarnings("unchecked")
public ConfigData getSecurityProps(boolean getFresh) {
if (!getFresh) {
- if (securityData == null) return new ConfigData(EMPTY_MAP, -1);
+ if (securityData == null) return new ConfigData(emptyMap(), -1);
return new ConfigData(securityData.data, securityData.version);
}
try {
diff --git a/solr/solrj/src/java/org/apache/solr/common/util/CommandOperation.java b/solr/solrj/src/java/org/apache/solr/common/util/CommandOperation.java
index 0cdbd76..83de0d4 100644
--- a/solr/solrj/src/java/org/apache/solr/common/util/CommandOperation.java
+++ b/solr/solrj/src/java/org/apache/solr/common/util/CommandOperation.java
@@ -171,9 +171,8 @@ public class CommandOperation {
return s;
}
- @SuppressWarnings({"rawtypes"})
- private Map errorDetails() {
- return Utils.makeMap(name, commandData, ERR_MSGS, errors);
+ private Map<String, Object> errorDetails() {
+ return Map.of(name, commandData, ERR_MSGS, errors);
}
public boolean hasError() {
diff --git a/solr/solrj/src/java/org/apache/solr/common/util/JsonSchemaCreator.java b/solr/solrj/src/java/org/apache/solr/common/util/JsonSchemaCreator.java
index bc32d94..6d2546e 100644
--- a/solr/solrj/src/java/org/apache/solr/common/util/JsonSchemaCreator.java
+++ b/solr/solrj/src/java/org/apache/solr/common/util/JsonSchemaCreator.java
@@ -36,8 +36,7 @@ import org.apache.solr.common.annotation.JsonProperty;
*/
public class JsonSchemaCreator {
- @SuppressWarnings({"rawtypes"})
- public static final Map<Class, String> natives = new HashMap<>();
+ public static final Map<Class<?>, String> natives = new HashMap<>();
static {
natives.put(String.class, "string");
@@ -74,7 +73,7 @@ public class JsonSchemaCreator {
return map;
}
- private static void createObjectSchema(@SuppressWarnings({"rawtypes"})Class klas, Map<String, Object> map) {
+ private static void createObjectSchema(Class<?> klas, Map<String, Object> map) {
map.put("type", "object");
Map<String, Object> props = new HashMap<>();
map.put("properties", props);
diff --git a/solr/solrj/src/java/org/apache/solr/common/util/JsonSchemaValidator.java b/solr/solrj/src/java/org/apache/solr/common/util/JsonSchemaValidator.java
index d67e6eb..e246d02 100644
--- a/solr/solrj/src/java/org/apache/solr/common/util/JsonSchemaValidator.java
+++ b/solr/solrj/src/java/org/apache/solr/common/util/JsonSchemaValidator.java
@@ -120,10 +120,9 @@ enum Type {
NULL(null),
UNKNOWN(Object.class);
- @SuppressWarnings({"rawtypes"})
- Class type;
+ Class<?> type;
- Type(@SuppressWarnings({"rawtypes"})Class type) {
+ Type(Class<?> type) {
this.type = type;
}
diff --git a/solr/solrj/src/java/org/apache/solr/common/util/Pair.java b/solr/solrj/src/java/org/apache/solr/common/util/Pair.java
index 05b09e8..bf11d09 100644
--- a/solr/solrj/src/java/org/apache/solr/common/util/Pair.java
+++ b/solr/solrj/src/java/org/apache/solr/common/util/Pair.java
@@ -23,7 +23,6 @@ import java.util.Objects;
import org.apache.solr.common.MapWriter;
-import static org.apache.solr.common.util.Utils.makeMap;
import static org.apache.solr.common.util.Utils.toJSONString;
public class Pair<T1, T2> implements Serializable, MapWriter {
@@ -52,7 +51,7 @@ public class Pair<T1, T2> implements Serializable, MapWriter {
@Override
public String toString() {
- return toJSONString(makeMap("first", first, "second", second));
+ return toJSONString(Map.of("first", first, "second", second));
}
@Override
@@ -67,7 +66,7 @@ public class Pair<T1, T2> implements Serializable, MapWriter {
}
@SuppressWarnings({"unchecked", "rawtypes"})
- public static Pair parse(Map m) {
+ public static Pair parse(Map<String, ?> m) {
return new Pair(m.get("first"), m.get("second"));
}
diff --git a/solr/solrj/src/java/org/apache/solr/common/util/RetryUtil.java b/solr/solrj/src/java/org/apache/solr/common/util/RetryUtil.java
index 422b505..c9a66b4 100644
--- a/solr/solrj/src/java/org/apache/solr/common/util/RetryUtil.java
+++ b/solr/solrj/src/java/org/apache/solr/common/util/RetryUtil.java
@@ -30,27 +30,27 @@ public class RetryUtil {
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
public interface RetryCmd {
- void execute() throws Throwable;
+ void execute() throws Exception;
}
public interface BooleanRetryCmd {
boolean execute();
}
-
- public static void retryOnThrowable(@SuppressWarnings({"rawtypes"})Class clazz, long timeoutms, long intervalms, RetryCmd cmd) throws Throwable {
- retryOnThrowable(Collections.singleton(clazz), timeoutms, intervalms, cmd);
+
+ public static void retryOnException(Class<? extends Exception> clazz, long timeoutms, long intervalms, RetryCmd cmd) throws Exception {
+ retryOnException(Collections.singleton(clazz), timeoutms, intervalms, cmd);
}
- public static void retryOnThrowable(@SuppressWarnings({"rawtypes"})Set<Class> classes,
- long timeoutms, long intervalms, RetryCmd cmd) throws Throwable {
+ public static void retryOnException(Set<Class<? extends Exception>> classes,
+ long timeoutms, long intervalms, RetryCmd cmd) throws Exception {
long timeout = System.nanoTime() + TimeUnit.NANOSECONDS.convert(timeoutms, TimeUnit.MILLISECONDS);
while (true) {
try {
cmd.execute();
- } catch (Throwable t) {
+ } catch (Exception t) {
if (isInstanceOf(classes, t) && System.nanoTime() < timeout) {
if (log.isInfoEnabled()) {
- log.info("Retry due to Throwable, {} ", t.getClass().getName(), t);
+ log.info("Retry due to Exception, {} ", t.getClass().getName(), t);
}
Thread.sleep(intervalms);
continue;
@@ -62,8 +62,8 @@ public class RetryUtil {
}
}
- private static boolean isInstanceOf(@SuppressWarnings({"rawtypes"})Set<Class> classes, Throwable t) {
- for (@SuppressWarnings({"rawtypes"})Class c : classes) {
+ private static boolean isInstanceOf(Set<Class<? extends Exception>> classes, Throwable t) {
+ for (Class<? extends Exception> c : classes) {
if (c.isInstance(t)) {
return true;
}
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 13e732d..b8f457a 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
@@ -321,19 +321,28 @@ public class Utils {
}
}
+ public static <V> Map<String, V> makeMap(String k1, V v1, String k2, V v2) {
+ Map<String, V> map = new LinkedHashMap<>(2, 1);
+ map.put(k1, v1);
+ map.put(k2, v2);
+ return map;
+ }
+
public static Map<String, Object> makeMap(Object... keyVals) {
- return makeMap(false, keyVals);
+ return _makeMap(keyVals);
}
- public static Map<String, Object> makeMap(boolean skipNulls, Object... keyVals) {
+ public static Map<String, String> makeMap(String... keyVals) {
+ return _makeMap(keyVals);
+ }
+
+ private static <T> Map<String, T> _makeMap(T[] keyVals) {
if ((keyVals.length & 0x01) != 0) {
throw new IllegalArgumentException("arguments should be key,value");
}
- Map<String, Object> propMap = new LinkedHashMap<>(keyVals.length >> 1);
+ Map<String, T> propMap = new LinkedHashMap<>(); // Cost of oversizing LHM is low, don't compute initialCapacity
for (int i = 0; i < keyVals.length; i += 2) {
- Object keyVal = keyVals[i + 1];
- if (skipNulls && keyVal == null) continue;
- propMap.put(keyVals[i].toString(), keyVal);
+ propMap.put(String.valueOf(keyVals[i]), keyVals[i + 1]);
}
return propMap;
}
@@ -520,7 +529,9 @@ public class Utils {
if (o instanceof MapWriter) {
o = getVal(o, null, idx);
} else if (o instanceof Map) {
- o = getVal(new MapWriterMap((Map) o), null, idx);
+ @SuppressWarnings("unchecked")
+ Map<String, Object> map = (Map<String, Object>) o;
+ o = getVal(new MapWriterMap(map), null, idx);
} else {
@SuppressWarnings({"rawtypes"})
List l = (List) o;
@@ -883,8 +894,7 @@ public class Utils {
}
}
- @SuppressWarnings("rawtypes")
- private static List<FieldWriter> getReflectData(Class c) throws IllegalAccessException {
+ private static List<FieldWriter> getReflectData(Class<?> c) throws IllegalAccessException {
boolean sameClassLoader = c.getClassLoader() == Utils.class.getClassLoader();
//we should not cache the class references of objects loaded from packages because they will not get garbage collected
//TODO fix that later
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/CloudAuthStreamTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/CloudAuthStreamTest.java
index f839314..5f3422b 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/CloudAuthStreamTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/io/stream/CloudAuthStreamTest.java
@@ -74,8 +74,7 @@ public class CloudAuthStreamTest extends SolrCloudTestCase {
*
* @see SolrRequest#setBasicAuthCredentials
*/
- @SuppressWarnings({"rawtypes"})
- private static <T extends SolrRequest> T setBasicAuthCredentials(T req, String user) {
+ private static <T extends SolrRequest<?>> T setBasicAuthCredentials(T req, String user) {
assert null != user;
req.setBasicAuthCredentials(user, user);
return req;
@@ -93,28 +92,28 @@ public class CloudAuthStreamTest extends SolrCloudTestCase {
.collect(Collectors.toMap(Function.identity(), Function.identity()));
final String SECURITY_JSON = Utils.toJSONString
- (Utils.makeMap("authorization",
- Utils.makeMap("class", RuleBasedAuthorizationPlugin.class.getName(),
+ (Map.of("authorization",
+ Map.of("class", RuleBasedAuthorizationPlugin.class.getName(),
"user-role", roles,
// NOTE: permissions order matters!
"permissions", Arrays.asList(// any authn user can 'read' or hit /stream
- Utils.makeMap("name","read",
+ Map.of("name","read",
"role","*"),
- Utils.makeMap("name","stream",
+ Map.of("name","stream",
"collection", "*",
"path", "/stream",
"role","*"),
// per collection write perms
- Utils.makeMap("name","update",
+ Map.of("name","update",
"collection", COLLECTION_X,
"role", WRITE_X_USER),
- Utils.makeMap("name","update",
+ Map.of("name","update",
"collection", COLLECTION_Y,
"role", WRITE_Y_USER),
- Utils.makeMap("name","all",
+ Map.of("name","all",
"role",ADMIN_USER))),
"authentication",
- Utils.makeMap("class", BasicAuthPlugin.class.getName(),
+ Map.of("class", BasicAuthPlugin.class.getName(),
"blockUnknown",true,
"credentials", credentials)));
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/request/TestUpdateRequestCodec.java b/solr/solrj/src/test/org/apache/solr/client/solrj/request/TestUpdateRequestCodec.java
index a44a668..fad66ed 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/request/TestUpdateRequestCodec.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/request/TestUpdateRequestCodec.java
@@ -24,6 +24,7 @@ import java.io.StringWriter;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
+import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -157,15 +158,15 @@ public class TestUpdateRequestCodec extends SolrTestCase {
}
//this format accepts a 1:1 mapping of the json format and javabin format
- @SuppressWarnings({"unchecked"})
public void testStreamableInputDocFormat() throws IOException {
- @SuppressWarnings({"rawtypes"})
- Map m = Utils.makeMap("id","1","desc" ,"The desc 1");
+ Map<String, Object> m = new LinkedHashMap<>();
+ m.put("id", "1");
+ m.put("desc", "The desc 1");
m.put(CHILDDOC, (MapWriter) ew -> {
ew.put("id","1.1");
ew.put("desc" ,"The desc 1.1");
ew.put(CHILDDOC, (IteratorWriter) iw -> {
- iw.add(Utils.makeMap("id", "1.1.1","desc","The desc 1.1.1"));
+ iw.add(Map.of("id", "1.1.1","desc","The desc 1.1.1"));
iw.add((MapWriter) ew1 -> {
ew1.put("id", "1.1.2");
ew1.put("desc", "The desc 1.1.2");
@@ -177,8 +178,7 @@ public class TestUpdateRequestCodec extends SolrTestCase {
ew.put("des", "The desc 2");
};
- @SuppressWarnings({"rawtypes"})
- List l = new ArrayList();
+ List<Object> l = new ArrayList<>();
l.add(m);
l.add(m2);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/routing/NodePreferenceRulesComparatorTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/routing/NodePreferenceRulesComparatorTest.java
index 63c44db..4131400 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/routing/NodePreferenceRulesComparatorTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/routing/NodePreferenceRulesComparatorTest.java
@@ -19,6 +19,7 @@ package org.apache.solr.client.solrj.routing;
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.common.cloud.UrlScheme;
@@ -64,7 +65,6 @@ public class NodePreferenceRulesComparatorTest extends SolrTestCaseJ4 {
assertEquals("node1", getHost(replicas.get(1).getNodeName()));
}
- @SuppressWarnings("unchecked")
@Test
public void replicaTypeAndReplicaLocationTest() {
List<Replica> replicas = getBasicReplicaList();
@@ -72,7 +72,7 @@ public class NodePreferenceRulesComparatorTest extends SolrTestCaseJ4 {
replicas.add(
new Replica(
"node4",
- map(
+ Map.of(
ZkStateReader.NODE_NAME_PROP, "node4:8983_solr",
ZkStateReader.CORE_NAME_PROP, "collection1",
ZkStateReader.REPLICA_TYPE, "TLOG"
@@ -115,7 +115,6 @@ public class NodePreferenceRulesComparatorTest extends SolrTestCaseJ4 {
}
}
- @SuppressWarnings("unchecked")
private static List<Replica> getBasicReplicaList() {
UrlScheme.INSTANCE.setUrlScheme(UrlScheme.HTTP);
@@ -123,7 +122,7 @@ public class NodePreferenceRulesComparatorTest extends SolrTestCaseJ4 {
replicas.add(
new Replica(
"node1",
- map(
+ Map.of(
ZkStateReader.NODE_NAME_PROP, "node1:8983_solr",
ZkStateReader.CORE_NAME_PROP, "collection1",
ZkStateReader.REPLICA_TYPE, "NRT"
@@ -133,7 +132,7 @@ public class NodePreferenceRulesComparatorTest extends SolrTestCaseJ4 {
replicas.add(
new Replica(
"node2",
- map(
+ Map.of(
ZkStateReader.NODE_NAME_PROP, "node2:8983_solr",
ZkStateReader.CORE_NAME_PROP, "collection1",
ZkStateReader.REPLICA_TYPE, "TLOG"
@@ -143,7 +142,7 @@ public class NodePreferenceRulesComparatorTest extends SolrTestCaseJ4 {
replicas.add(
new Replica(
"node3",
- map(
+ Map.of(
ZkStateReader.NODE_NAME_PROP, "node3:8983_solr",
ZkStateReader.CORE_NAME_PROP, "collection1",
ZkStateReader.REPLICA_TYPE, "PULL"
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/routing/RequestReplicaListTransformerGeneratorTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/routing/RequestReplicaListTransformerGeneratorTest.java
index c09366d..499565a 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/routing/RequestReplicaListTransformerGeneratorTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/routing/RequestReplicaListTransformerGeneratorTest.java
@@ -19,6 +19,7 @@ package org.apache.solr.client.solrj.routing;
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
import org.apache.solr.SolrTestCaseJ4;
import org.apache.solr.common.cloud.Replica;
@@ -73,7 +74,6 @@ public class RequestReplicaListTransformerGeneratorTest extends SolrTestCaseJ4 {
return colonAt != -1 ? nodeName.substring(0,colonAt) : nodeName.substring(0, nodeName.indexOf('_'));
}
- @SuppressWarnings("unchecked")
@Test
public void replicaTypeAndReplicaBase() {
RequestReplicaListTransformerGenerator generator = new RequestReplicaListTransformerGenerator();
@@ -84,7 +84,7 @@ public class RequestReplicaListTransformerGeneratorTest extends SolrTestCaseJ4 {
replicas.add(
new Replica(
"node4",
- map(
+ Map.of(
ZkStateReader.NODE_NAME_PROP, "node4:8983_solr",
ZkStateReader.CORE_NAME_PROP, "collection1",
ZkStateReader.REPLICA_TYPE, "TLOG"
@@ -96,7 +96,7 @@ public class RequestReplicaListTransformerGeneratorTest extends SolrTestCaseJ4 {
replicas.add(
new Replica(
"node5",
- map(
+ Map.of(
ZkStateReader.NODE_NAME_PROP, "node5:8983_solr",
ZkStateReader.CORE_NAME_PROP, "collection1",
ZkStateReader.REPLICA_TYPE, "PULL"
@@ -129,13 +129,12 @@ public class RequestReplicaListTransformerGeneratorTest extends SolrTestCaseJ4 {
assertEquals("node3", getHost(replicas.get(4).getNodeName()));
}
- @SuppressWarnings("unchecked")
private static List<Replica> getBasicReplicaList() {
List<Replica> replicas = new ArrayList<Replica>();
replicas.add(
new Replica(
"node1",
- map(
+ Map.of(
ZkStateReader.NODE_NAME_PROP, "node1:8983_solr",
ZkStateReader.CORE_NAME_PROP, "collection1",
ZkStateReader.REPLICA_TYPE, "NRT"
@@ -145,7 +144,7 @@ public class RequestReplicaListTransformerGeneratorTest extends SolrTestCaseJ4 {
replicas.add(
new Replica(
"node2",
- map(
+ Map.of(
ZkStateReader.NODE_NAME_PROP, "node2:8983_solr",
ZkStateReader.CORE_NAME_PROP, "collection1",
ZkStateReader.REPLICA_TYPE, "TLOG"
@@ -155,7 +154,7 @@ public class RequestReplicaListTransformerGeneratorTest extends SolrTestCaseJ4 {
replicas.add(
new Replica(
"node3",
- map(
+ Map.of(
ZkStateReader.NODE_NAME_PROP, "node3:8983_solr",
ZkStateReader.CORE_NAME_PROP, "collection1",
ZkStateReader.REPLICA_TYPE, "PULL"
diff --git a/solr/solrj/src/test/org/apache/solr/common/util/NamedListTest.java b/solr/solrj/src/test/org/apache/solr/common/util/NamedListTest.java
index c50edfc..d31d878 100644
--- a/solr/solrj/src/test/org/apache/solr/common/util/NamedListTest.java
+++ b/solr/solrj/src/test/org/apache/solr/common/util/NamedListTest.java
@@ -153,11 +153,11 @@ public class NamedListTest extends SolrTestCase {
assertEquals("value3c", test3);
// Checking that invalid values return null.
String test4 = (String) nl.findRecursive("key3", "key3c", "invalid");
- assertEquals(null, test4);
+ assertNull(test4);
String test5 = (String) nl.findRecursive("key3", "invalid", "invalid");
- assertEquals(null, test5);
+ assertNull(test5);
String test6 = (String) nl.findRecursive("invalid", "key3c");
- assertEquals(null, test6);
+ assertNull(test6);
// Verify that retrieved NamedList objects have the right type.
Object test7 = nl.findRecursive("key2", "key2b");
assertTrue(test7 instanceof NamedList);
@@ -208,7 +208,7 @@ public class NamedListTest extends SolrTestCase {
assertEquals("Val1_", nl.get("key1"));
assertEquals("Val1_", m.get("key1"));
assertEquals(0, nl.indexOf("key1", 0));
- m.putAll(Utils.makeMap("key1", "Val1__", "key2", "Val2"));
+ m.putAll(Map.of("key1", "Val1__", "key2", "Val2"));
assertEquals("Val1__", nl.get("key1"));
assertEquals("Val1__", m.get("key1"));
assertEquals(0, nl.indexOf("key1", 0));
diff --git a/solr/solrj/src/test/org/apache/solr/common/util/TestJavaBinCodec.java b/solr/solrj/src/test/org/apache/solr/common/util/TestJavaBinCodec.java
index b9db14f..4724f19 100644
--- a/solr/solrj/src/test/org/apache/solr/common/util/TestJavaBinCodec.java
+++ b/solr/solrj/src/test/org/apache/solr/common/util/TestJavaBinCodec.java
@@ -398,21 +398,19 @@ public class TestJavaBinCodec extends SolrTestCaseJ4 {
assertNull(grandChildDocuments.get(0).getChildDocuments());
}
@Test
- @SuppressWarnings({"unchecked", "rawtypes"})
public void testStringCaching() throws Exception {
- Map<String, Object> m = Utils.makeMap("key1", "val1", "key2", "val2");
+ Map<String, Object> m = Map.of("key1", "val1", "key2", "val2");
byte[] b1 = getBytes(m);//copy 1
byte[] b2 = getBytes(m);//copy 2
- Map m1 = (Map) getObject(b1);
- Map m2 = (Map) getObject(b1);
+ Map<?,?> m1 = (Map<?,?>) getObject(b1);
+ Map<?,?> m2 = (Map<?,?>) getObject(b2);
- List l1 = new ArrayList<>(m1.keySet());
- List l2 = new ArrayList<>(m2.keySet());
+ List<?> l1 = new ArrayList<>(m1.keySet());
+ List<?> l2 = new ArrayList<>(m2.keySet());
- assertTrue(l1.get(0).equals(l2.get(0)));
- assertFalse(l1.get(0) == l2.get(0));
- assertTrue(l1.get(1).equals(l2.get(1)));
- assertFalse(l1.get(1) == l2.get(1));
+ assertEquals(l1, l2);
+ assertNotSame(l1.get(0), l2.get(0));
+ assertNotSame(l1.get(1), l2.get(1));
JavaBinCodec.StringCache stringCache = new JavaBinCodec.StringCache(new MapBackedCache<>(new HashMap<>()));
@@ -420,16 +418,15 @@ public class TestJavaBinCodec extends SolrTestCaseJ4 {
try (JavaBinCodec c1 = new JavaBinCodec(null, stringCache);
JavaBinCodec c2 = new JavaBinCodec(null, stringCache)) {
- m1 = (Map) c1.unmarshal(new ByteArrayInputStream(b1));
- m2 = (Map) c2.unmarshal(new ByteArrayInputStream(b2));
+ m1 = (Map<?,?>) c1.unmarshal(new ByteArrayInputStream(b1));
+ m2 = (Map<?,?>) c2.unmarshal(new ByteArrayInputStream(b2));
l1 = new ArrayList<>(m1.keySet());
l2 = new ArrayList<>(m2.keySet());
}
- assertTrue(l1.get(0).equals(l2.get(0)));
- assertTrue(l1.get(0) == l2.get(0));
- assertTrue(l1.get(1).equals(l2.get(1)));
- assertTrue(l1.get(1) == l2.get(1));
+ assertEquals(l1, l2);
+ assertSame(l1.get(0), l2.get(0));
+ assertSame(l1.get(1), l2.get(1));
}
diff --git a/solr/solrj/src/test/org/apache/solr/common/util/TestRetryUtil.java b/solr/solrj/src/test/org/apache/solr/common/util/TestRetryUtil.java
index 2eefa08..b77acd2 100644
--- a/solr/solrj/src/test/org/apache/solr/common/util/TestRetryUtil.java
+++ b/solr/solrj/src/test/org/apache/solr/common/util/TestRetryUtil.java
@@ -27,7 +27,7 @@ public class TestRetryUtil extends SolrTestCaseJ4 {
public void testRetryOnThrowable() throws Throwable {
final AtomicInteger executes = new AtomicInteger();
- RetryUtil.retryOnThrowable(SolrException.class, 10000, 10, () -> {
+ RetryUtil.retryOnException(SolrException.class, 10000, 10, () -> {
int calls = executes.incrementAndGet();
if (calls <= 2) {
throw new SolrException(ErrorCode.SERVER_ERROR, "Bad Stuff Happened");
@@ -35,37 +35,28 @@ public class TestRetryUtil extends SolrTestCaseJ4 {
});
assertEquals(3, executes.get());
-
- final AtomicInteger executes2 = new AtomicInteger();
- boolean caughtSolrException = false;
- try {
- RetryUtil.retryOnThrowable(IllegalStateException.class, 10000, 10,
- () -> {
- int calls = executes2.incrementAndGet();
- if (calls <= 2) {
- throw new SolrException(ErrorCode.SERVER_ERROR,
- "Bad Stuff Happened");
- }
- });
- } catch (SolrException e) {
- caughtSolrException = true;
- }
- assertTrue(caughtSolrException);
- assertEquals(1, executes2.get());
-
- final AtomicInteger executes3 = new AtomicInteger();
- caughtSolrException = false;
- try {
- RetryUtil.retryOnThrowable(SolrException.class, 1000, 10, () -> {
- executes3.incrementAndGet();
+
+ executes.set(0);
+ assertThrows(SolrException.class, () ->
+ RetryUtil.retryOnException(IllegalStateException.class, 10000, 10, () -> {
+ int calls = executes.incrementAndGet();
+ if (calls <= 2) {
+ throw new SolrException(ErrorCode.SERVER_ERROR,
+ "Bad Stuff Happened");
+ }
+ })
+ );
+ assertEquals(1, executes.get());
+
+ executes.set(0);
+ assertThrows(SolrException.class, () ->
+ RetryUtil.retryOnException(SolrException.class, 1000, 10, () -> {
+ executes.incrementAndGet();
throw new SolrException(ErrorCode.SERVER_ERROR, "Bad Stuff Happened");
- });
- } catch (SolrException e) {
- caughtSolrException = true;
- }
-
- assertTrue(caughtSolrException);
- assertTrue(executes3.get() > 1);
+ })
+ );
+
+ assertTrue(executes.get() > 1);
}
}
diff --git a/solr/solrj/src/test/org/apache/solr/common/util/TestSolrJsonWriter.java b/solr/solrj/src/test/org/apache/solr/common/util/TestSolrJsonWriter.java
index 8672e64..07a71d6 100644
--- a/solr/solrj/src/test/org/apache/solr/common/util/TestSolrJsonWriter.java
+++ b/solr/solrj/src/test/org/apache/solr/common/util/TestSolrJsonWriter.java
@@ -36,7 +36,7 @@ public class TestSolrJsonWriter extends SolrTestCaseJ4 {
map.put("k1","v1");
map.put("k2",1);
map.put("k3",false);
- map.put("k4",Utils.makeMap("k41", "v41", "k42","v42"));
+ map.put("k4",Utils.makeMap("k41", "v41", "k42","v42")); // Compare in order
map.put("k5", (MapWriter) ew -> {
ew.put("k61","v61");
ew.put("k62","v62");
diff --git a/solr/solrj/src/test/org/apache/solr/common/util/TestValidatingJsonMap.java b/solr/solrj/src/test/org/apache/solr/common/util/TestValidatingJsonMap.java
index 7c04ff4..6adab7f 100644
--- a/solr/solrj/src/test/org/apache/solr/common/util/TestValidatingJsonMap.java
+++ b/solr/solrj/src/test/org/apache/solr/common/util/TestValidatingJsonMap.java
@@ -19,11 +19,11 @@ package org.apache.solr.common.util;
import java.util.Arrays;
import java.util.List;
+import java.util.Map;
import com.google.common.collect.ImmutableSet;
import org.apache.solr.SolrTestCaseJ4;
-import static org.apache.solr.common.util.Utils.makeMap;
import static org.apache.solr.common.util.ValidatingJsonMap.ENUM_OF;
import static org.apache.solr.common.util.ValidatingJsonMap.NOT_NULL;
@@ -31,11 +31,11 @@ public class TestValidatingJsonMap extends SolrTestCaseJ4 {
public void testBasic() throws Exception {
ValidatingJsonMap m = ValidatingJsonMap.wrap(
- makeMap("a", Boolean.TRUE,
+ Map.of("a", Boolean.TRUE,
"b", Boolean.FALSE,
"i", 10,
"l" , Arrays.asList("X", "Y"),
- "c", makeMap("d", "D")));
+ "c", Map.of("d", "D")));
assertEquals(Boolean.TRUE, m.getBool("a", Boolean.FALSE));
assertEquals(Boolean.FALSE, m.getBool("b", Boolean.TRUE));
assertEquals(Integer.valueOf(10), m.getInt("i",0));
diff --git a/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java b/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
index ed0e612..3fb48d9 100644
--- a/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
+++ b/solr/test-framework/src/java/org/apache/solr/SolrTestCaseJ4.java
@@ -477,10 +477,8 @@ public abstract class SolrTestCaseJ4 extends SolrTestCase {
private static Map<String, Level> savedClassLogLevels = new HashMap<>();
public static void initClassLogLevels() {
- @SuppressWarnings({"rawtypes"})
- Class currentClass = RandomizedContext.current().getTargetClass();
- @SuppressWarnings({"unchecked"})
- LogLevel annotation = (LogLevel) currentClass.getAnnotation(LogLevel.class);
+ Class<?> currentClass = RandomizedContext.current().getTargetClass();
+ LogLevel annotation = currentClass.getAnnotation(LogLevel.class);
if (annotation == null) {
return;
}
@@ -1325,14 +1323,12 @@ public abstract class SolrTestCaseJ4 extends SolrTestCase {
return msp;
}
- @SuppressWarnings({"unchecked", "rawtypes"})
- public static Map map(Object... params) {
- LinkedHashMap ret = new LinkedHashMap();
- for (int i=0; i<params.length; i+=2) {
- Object o = ret.put(params[i], params[i+1]);
- // TODO: handle multi-valued map?
- }
- return ret;
+ public static Map<String, String> map(String... params) {
+ return Utils.makeMap(params);
+ }
+
+ public static Map<String, Object> map(Object... params) {
+ return Utils.makeMap(params);
}
/**
@@ -2982,8 +2978,8 @@ public abstract class SolrTestCaseJ4 extends SolrTestCase {
System.clearProperty(AllowListUrlChecker.DISABLE_URL_ALLOW_LIST);
}
- @SuppressWarnings({"unchecked"})
- protected <T> T pickRandom(T... options) {
+ @SafeVarargs
+ protected static <T> T pickRandom(T... options) {
return options[random().nextInt(options.length)];
}
@@ -3033,7 +3029,6 @@ public abstract class SolrTestCaseJ4 extends SolrTestCase {
* @lucene.experimental
* @lucene.internal
*/
- @SuppressWarnings({"rawtypes"})
private static void randomizeNumericTypesProperties() {
final boolean useDV = random().nextBoolean();
@@ -3071,7 +3066,7 @@ public abstract class SolrTestCaseJ4 extends SolrTestCase {
System.setProperty(NUMERIC_POINTS_SYSPROP, "true");
}
- for (Map.Entry<Class,String> entry : RANDOMIZED_NUMERIC_FIELDTYPES.entrySet()) {
+ for (Map.Entry<Class<?>,String> entry : RANDOMIZED_NUMERIC_FIELDTYPES.entrySet()) {
System.setProperty("solr.tests." + entry.getKey().getSimpleName() + "FieldType",
entry.getValue());
@@ -3097,7 +3092,7 @@ public abstract class SolrTestCaseJ4 extends SolrTestCase {
org.apache.solr.schema.PointField.TEST_HACK_IGNORE_USELESS_TRIEFIELD_ARGS = false;
System.clearProperty("solr.tests.numeric.points");
System.clearProperty("solr.tests.numeric.points.dv");
- for (@SuppressWarnings({"rawtypes"})Class c : RANDOMIZED_NUMERIC_FIELDTYPES.keySet()) {
+ for (Class<?> c : RANDOMIZED_NUMERIC_FIELDTYPES.keySet()) {
System.clearProperty("solr.tests." + c.getSimpleName() + "FieldType");
}
private_RANDOMIZED_NUMERIC_FIELDTYPES.clear();
@@ -3113,8 +3108,7 @@ public abstract class SolrTestCaseJ4 extends SolrTestCase {
private static boolean isChildDoc(Object o) {
if(o instanceof Collection) {
- @SuppressWarnings({"rawtypes"})
- Collection col = (Collection) o;
+ Collection<?> col = (Collection<?>) o;
if(col.size() == 0) {
return false;
}
@@ -3123,8 +3117,7 @@ public abstract class SolrTestCaseJ4 extends SolrTestCase {
return o instanceof SolrInputDocument;
}
- @SuppressWarnings({"rawtypes"})
- private static final Map<Class,String> private_RANDOMIZED_NUMERIC_FIELDTYPES = new HashMap<>();
+ private static final Map<Class<?>,String> private_RANDOMIZED_NUMERIC_FIELDTYPES = new HashMap<>();
/**
* A Map of "primitive" java "numeric" types and the string name of the <code>class</code> used in the
@@ -3135,8 +3128,7 @@ public abstract class SolrTestCaseJ4 extends SolrTestCase {
*
* @see #randomizeNumericTypesProperties
*/
- @SuppressWarnings({"rawtypes"})
- protected static final Map<Class,String> RANDOMIZED_NUMERIC_FIELDTYPES
+ protected static final Map<Class<?>,String> RANDOMIZED_NUMERIC_FIELDTYPES
= Collections.unmodifiableMap(private_RANDOMIZED_NUMERIC_FIELDTYPES);
}
diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java b/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java
index 510f3f5..3b200ac 100644
--- a/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java
+++ b/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java
@@ -17,7 +17,6 @@
package org.apache.solr.cloud;
import static org.apache.solr.common.cloud.ZkStateReader.URL_SCHEME;
-import static org.apache.solr.common.util.Utils.makeMap;
import java.io.File;
import java.io.IOException;
@@ -388,10 +387,8 @@ public abstract class AbstractFullDistribZkTestBase extends AbstractDistribZkTes
protected List<JettySolrRunner> createJettys(int numJettys) throws Exception {
List<JettySolrRunner> jettys = Collections.synchronizedList(new ArrayList<>());
List<SolrClient> clients = Collections.synchronizedList(new ArrayList<>());
- @SuppressWarnings({"rawtypes"})
- List<CollectionAdminRequest> createReplicaRequests = Collections.synchronizedList(new ArrayList<>());
- @SuppressWarnings({"rawtypes"})
- List<CollectionAdminRequest> createPullReplicaRequests = Collections.synchronizedList(new ArrayList<>());
+ List<CollectionAdminRequest<CollectionAdminResponse>> createReplicaRequests = Collections.synchronizedList(new ArrayList<>());
+ List<CollectionAdminRequest<CollectionAdminResponse>> createPullReplicaRequests = Collections.synchronizedList(new ArrayList<>());
StringBuilder sb = new StringBuilder();
// HACK: Don't be fooled by the replication factor of '1'...
@@ -526,11 +523,11 @@ public abstract class AbstractFullDistribZkTestBase extends AbstractDistribZkTes
customThreadPool = ExecutorUtil.newMDCAwareCachedThreadPool(new SolrNamedThreadFactory("createReplicaRequests"));
- for (@SuppressWarnings({"rawtypes"})CollectionAdminRequest r : createReplicaRequests) {
+ for (CollectionAdminRequest<CollectionAdminResponse> r : createReplicaRequests) {
customThreadPool.submit(() -> {
CollectionAdminResponse response;
try {
- response = (CollectionAdminResponse) r.process(cloudClient);
+ response = r.process(cloudClient);
} catch (SolrServerException | IOException e) {
throw new RuntimeException(e);
}
@@ -544,11 +541,11 @@ public abstract class AbstractFullDistribZkTestBase extends AbstractDistribZkTes
customThreadPool = ExecutorUtil
.newMDCAwareCachedThreadPool(new SolrNamedThreadFactory("createPullReplicaRequests"));
- for (@SuppressWarnings({"rawtypes"})CollectionAdminRequest r : createPullReplicaRequests) {
+ for (CollectionAdminRequest<CollectionAdminResponse> r : createPullReplicaRequests) {
customThreadPool.submit(() -> {
CollectionAdminResponse response;
try {
- response = (CollectionAdminResponse) r.process(cloudClient);
+ response = r.process(cloudClient);
} catch (SolrServerException | IOException e) {
throw new RuntimeException(e);
}
@@ -2045,7 +2042,7 @@ public abstract class AbstractFullDistribZkTestBase extends AbstractDistribZkTes
int numShards ) throws Exception {
int numNrtReplicas = useTlogReplicas()?0:replicationFactor;
int numTlogReplicas = useTlogReplicas()?replicationFactor:0;
- Map<String, Object> props = makeMap(
+ Map<String, Object> props = Map.of(
ZkStateReader.NRT_REPLICAS, numNrtReplicas,
ZkStateReader.TLOG_REPLICAS, numTlogReplicas,
ZkStateReader.PULL_REPLICAS, getPullReplicaCount(),
diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/CloudInspectUtil.java b/solr/test-framework/src/java/org/apache/solr/cloud/CloudInspectUtil.java
index bc3b108..fe8a5b8 100644
--- a/solr/test-framework/src/java/org/apache/solr/cloud/CloudInspectUtil.java
+++ b/solr/test-framework/src/java/org/apache/solr/cloud/CloudInspectUtil.java
@@ -48,7 +48,6 @@ public class CloudInspectUtil {
* @param bDeleteFails null or list of the ids of deletes that failed for b
* @return true if the difference in a and b is legal
*/
- @SuppressWarnings({"unchecked"})
public static boolean checkIfDiffIsLegal(SolrDocumentList a,
SolrDocumentList b, String aName, String bName, Set<String> bAddFails,
Set<String> bDeleteFails) {
diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/ZkTestServer.java b/solr/test-framework/src/java/org/apache/solr/cloud/ZkTestServer.java
index 5112aab..34de037 100644
--- a/solr/test-framework/src/java/org/apache/solr/cloud/ZkTestServer.java
+++ b/solr/test-framework/src/java/org/apache/solr/cloud/ZkTestServer.java
@@ -644,8 +644,10 @@ public class ZkTestServer {
while (true) {
try {
- zooThread.join();
- ObjectReleaseTracker.release(zooThread);
+ if (zooThread != null) {
+ zooThread.join();
+ ObjectReleaseTracker.release(zooThread);
+ }
zooThread = null;
break;
} catch (InterruptedException e) {
diff --git a/solr/test-framework/src/java/org/apache/solr/util/RandomizeSSL.java b/solr/test-framework/src/java/org/apache/solr/util/RandomizeSSL.java
index 20644a3..15d979c 100644
--- a/solr/test-framework/src/java/org/apache/solr/util/RandomizeSSL.java
+++ b/solr/test-framework/src/java/org/apache/solr/util/RandomizeSSL.java
@@ -135,42 +135,40 @@ public @interface RandomizeSSL {
/**
* Returns an SSLRandomizer suitable for the specified (test) class
*/
- public static final SSLRandomizer getSSLRandomizerForClass(@SuppressWarnings({"rawtypes"})Class clazz) {
+ public static final SSLRandomizer getSSLRandomizerForClass(Class<?> clazz) {
- @SuppressWarnings({"unchecked"})
- final SuppressSSL suppression = (SuppressSSL) clazz.getAnnotation(SuppressSSL.class);
- if (null != suppression) {
+ final SuppressSSL suppressSSL = clazz.getAnnotation(SuppressSSL.class);
+ if (null != suppressSSL) {
// Even if this class has a RandomizeSSL annotation, any usage of SuppressSSL -- even in a
// super class -- overrules that.
//
// (If it didn't work this way, it would be a pain in the ass to quickly disable SSL for a
// broad hierarchy of tests)
- return new SSLRandomizer(0.0D, 0.0D, suppression.toString());
+ return new SSLRandomizer(0.0D, 0.0D, suppressSSL.toString());
}
- @SuppressWarnings({"unchecked"})
- final RandomizeSSL annotation = (RandomizeSSL) clazz.getAnnotation(RandomizeSSL.class);
+ final RandomizeSSL randomizeSSL = clazz.getAnnotation(RandomizeSSL.class);
- if (null == annotation) {
+ if (null == randomizeSSL) {
return new SSLRandomizer(0.0D, 0.0D, RandomizeSSL.class.getName() + " annotation not specified");
}
- final double def = Double.isNaN(annotation.value()) ? DEFAULT_ODDS : annotation.value();
+ final double def = Double.isNaN(randomizeSSL.value()) ? DEFAULT_ODDS : randomizeSSL.value();
if (def < 0.0D || 1.0D < def) {
throw new IllegalArgumentException
- (clazz.getName() + ": default value is not a ratio between 0 and 1: " + annotation.toString());
+ (clazz.getName() + ": default value is not a ratio between 0 and 1: " + randomizeSSL.toString());
}
- final double ssl = Double.isNaN(annotation.ssl()) ? def : annotation.ssl();
+ final double ssl = Double.isNaN(randomizeSSL.ssl()) ? def : randomizeSSL.ssl();
if (ssl < 0.0D || 1.0D < ssl) {
throw new IllegalArgumentException
- (clazz.getName() + ": ssl value is not a ratio between 0 and 1: " + annotation.toString());
+ (clazz.getName() + ": ssl value is not a ratio between 0 and 1: " + randomizeSSL.toString());
}
- final double clientAuth = Double.isNaN(annotation.clientAuth()) ? ssl : annotation.clientAuth();
+ final double clientAuth = Double.isNaN(randomizeSSL.clientAuth()) ? ssl : randomizeSSL.clientAuth();
if (clientAuth < 0.0D || 1 < clientAuth) {
throw new IllegalArgumentException
- (clazz.getName() + ": clientAuth value is not a ratio between 0 and 1: " + annotation.toString());
+ (clazz.getName() + ": clientAuth value is not a ratio between 0 and 1: " + randomizeSSL.toString());
}
- return new SSLRandomizer(ssl, clientAuth, annotation.toString());
+ return new SSLRandomizer(ssl, clientAuth, randomizeSSL.toString());
}
}
}