You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@solr.apache.org by kr...@apache.org on 2022/10/26 18:21:21 UTC

[solr] 02/09: SOLR-16427: Evaluate and fix errorprone rules - ClassCanBeStatic

This is an automated email from the ASF dual-hosted git repository.

krisden pushed a commit to branch branch_9x
in repository https://gitbox.apache.org/repos/asf/solr.git

commit 35cad2c711afbb6f84b491efcff316e5bb87b237
Author: Kevin Risden <kr...@apache.org>
AuthorDate: Fri Oct 21 16:49:07 2022 -0400

    SOLR-16427: Evaluate and fix errorprone rules - ClassCanBeStatic
---
 gradle/validation/error-prone.gradle               |  1 -
 solr/core/src/java/org/apache/solr/api/ApiBag.java |  4 +--
 .../solr/cloud/api/collections/RoutedAlias.java    |  2 +-
 .../java/org/apache/solr/handler/CatStream.java    |  2 +-
 .../handler/component/QueryElevationComponent.java |  2 +-
 .../apache/solr/logging/log4j2/Log4j2Watcher.java  |  4 +--
 .../apache/solr/request/LocalSolrQueryRequest.java |  2 +-
 .../apache/solr/response/JSONResponseWriter.java   |  2 +-
 .../analysis/ManagedSynonymFilterFactory.java      |  2 +-
 .../analysis/ManagedSynonymGraphFilterFactory.java |  2 +-
 .../apache/solr/search/ExportQParserPlugin.java    |  4 +--
 .../solr/search/GraphTermsQParserPlugin.java       |  2 +-
 .../apache/solr/search/ReRankQParserPlugin.java    |  4 +--
 .../java/org/apache/solr/search/facet/AvgAgg.java  |  6 ++--
 .../org/apache/solr/search/facet/CountValsAgg.java |  8 ++---
 .../org/apache/solr/search/facet/DocValuesAcc.java |  4 +--
 .../org/apache/solr/search/facet/FacetModule.java  |  2 +-
 .../org/apache/solr/search/facet/MinMaxAgg.java    |  2 +-
 .../org/apache/solr/search/facet/MissingAgg.java   |  2 +-
 .../org/apache/solr/search/facet/StddevAgg.java    |  6 ++--
 .../java/org/apache/solr/search/facet/SumAgg.java  |  6 ++--
 .../org/apache/solr/search/facet/SumsqAgg.java     |  6 ++--
 .../org/apache/solr/search/facet/VarianceAgg.java  |  6 ++--
 .../solr/search/join/CrossCollectionJoinQuery.java |  2 +-
 .../apache/solr/security/AuditLoggerPlugin.java    |  2 +-
 .../org/apache/solr/security/BasicAuthPlugin.java  |  2 +-
 .../org/apache/solr/update/TransactionLog.java     |  2 +-
 .../org/apache/solr/cloud/LeaderElectionTest.java  |  2 +-
 .../apache/solr/cloud/TestSSLRandomization.java    | 41 +++++++++++-----------
 .../cloud/TestWaitForStateWithJettyShutdowns.java  |  2 +-
 .../handler/FieldAnalysisRequestHandlerTest.java   |  6 ++--
 .../apache/solr/handler/TestContainerPlugin.java   |  4 +--
 .../solr/handler/TestReplicationHandler.java       |  2 +-
 .../solr/handler/admin/TestApiFramework.java       |  4 +--
 .../solr/handler/export/TestExportWriter.java      |  2 +-
 .../apache/solr/handler/tagger/TaggerTestCase.java |  2 +-
 .../org/apache/solr/rest/TestManagedResource.java  |  4 +--
 .../org/apache/solr/schema/TestPointFields.java    |  2 +-
 .../solr/search/TestCancellableCollector.java      |  2 +-
 .../solr/search/TestExtendedDismaxParser.java      |  4 +--
 .../apache/solr/search/TestTermsQParserPlugin.java |  2 +-
 .../solr/security/AuditLoggerIntegrationTest.java  |  4 +--
 .../test/org/apache/solr/util/TestRTimerTree.java  |  2 +-
 .../LTRInterleavingTransformerFactory.java         |  2 +-
 .../query-guide/examples/JsonRequestApiTest.java   |  2 +-
 .../apache/solr/common/cloud/ZkStateReader.java    |  2 +-
 .../solrj/impl/BaseHttpClusterStateProvider.java   |  2 +-
 .../client/solrj/io/eval/PairSortEvaluator.java    |  2 +-
 .../solrj/io/stream/CartesianProductStream.java    |  2 +-
 .../client/solrj/io/stream/ParallelListStream.java |  4 +--
 solr/solrj/src/java/org/noggit/CharArr.java        |  2 +-
 ...DirectJsonQueryRequestFacetingEmbeddedTest.java |  2 +-
 ...ectJsonQueryRequestFacetingIntegrationTest.java |  2 +-
 .../JsonQueryRequestFacetingIntegrationTest.java   |  2 +-
 54 files changed, 99 insertions(+), 99 deletions(-)

diff --git a/gradle/validation/error-prone.gradle b/gradle/validation/error-prone.gradle
index 8b23dacac45..73a5f7bb575 100644
--- a/gradle/validation/error-prone.gradle
+++ b/gradle/validation/error-prone.gradle
@@ -80,7 +80,6 @@ allprojects { prj ->
             '-Xep:BadImport:OFF', // style preference that we don't want to enforce
             '-Xep:BadShiftAmount:OFF',
             '-Xep:CanIgnoreReturnValueSuggester:OFF',
-            '-Xep:ClassCanBeStatic:OFF',
             '-Xep:ComplexBooleanConstant:OFF',
             '-Xep:DoubleCheckedLocking:OFF',
             '-Xep:EmptyCatch:OFF',
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 e8039401c90..c9bd0530d4b 100644
--- a/solr/core/src/java/org/apache/solr/api/ApiBag.java
+++ b/solr/core/src/java/org/apache/solr/api/ApiBag.java
@@ -110,7 +110,7 @@ public class ApiBag {
    * <p>This is only possible currently for AnnotatedApis. All other Api implementations will resort
    * to the default "overwriting" behavior of PathTrie
    */
-  class CommandAggregatingPathTrie extends PathTrie<Api> {
+  static class CommandAggregatingPathTrie extends PathTrie<Api> {
 
     public CommandAggregatingPathTrie(Set<String> reserved) {
       super(reserved);
@@ -145,7 +145,7 @@ public class ApiBag {
     }
   }
 
-  class CommandAggregatingAnnotatedApi extends AnnotatedApi {
+  static class CommandAggregatingAnnotatedApi extends AnnotatedApi {
 
     private Collection<AnnotatedApi> combinedApis;
 
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 5d27a700a0c..7d46eba3276 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
@@ -309,7 +309,7 @@ public abstract class RoutedAlias {
 
   abstract CandidateCollection findCandidateGivenValue(AddUpdateCommand cmd);
 
-  class CandidateCollection {
+  static class CandidateCollection {
     private final CreationType creationType;
     private final String destinationCollection;
     private final String creationCollection;
diff --git a/solr/core/src/java/org/apache/solr/handler/CatStream.java b/solr/core/src/java/org/apache/solr/handler/CatStream.java
index 31ad6b11abf..8d6a3f62de2 100644
--- a/solr/core/src/java/org/apache/solr/handler/CatStream.java
+++ b/solr/core/src/java/org/apache/solr/handler/CatStream.java
@@ -255,7 +255,7 @@ public class CatStream extends TupleStream implements Expressible {
   // A pair of paths for a particular file to stream:
   // - absolute path for reading,
   // - display path to avoid leaking Solr node fs details in tuples (relative to chroot)
-  public class CrawlFile {
+  public static class CrawlFile {
     private final String displayPath;
     private final Path absolutePath;
 
diff --git a/solr/core/src/java/org/apache/solr/handler/component/QueryElevationComponent.java b/solr/core/src/java/org/apache/solr/handler/component/QueryElevationComponent.java
index 48b975a63d4..f687edf878d 100644
--- a/solr/core/src/java/org/apache/solr/handler/component/QueryElevationComponent.java
+++ b/solr/core/src/java/org/apache/solr/handler/component/QueryElevationComponent.java
@@ -1213,7 +1213,7 @@ public class QueryElevationComponent extends SearchComponent implements SolrCore
   }
 
   /** Elevates certain docs to the top. */
-  private class ElevationComparatorSource extends FieldComparatorSource {
+  private static class ElevationComparatorSource extends FieldComparatorSource {
 
     private final IntIntHashMap elevatedWithPriority;
     private final boolean useConfiguredElevatedOrder;
diff --git a/solr/core/src/java/org/apache/solr/logging/log4j2/Log4j2Watcher.java b/solr/core/src/java/org/apache/solr/logging/log4j2/Log4j2Watcher.java
index 2cc3247a41c..ff1ef3f456e 100644
--- a/solr/core/src/java/org/apache/solr/logging/log4j2/Log4j2Watcher.java
+++ b/solr/core/src/java/org/apache/solr/logging/log4j2/Log4j2Watcher.java
@@ -47,7 +47,7 @@ public class Log4j2Watcher extends LogWatcher<LogEvent> {
   private static final String LOG4J2_WATCHER_APPENDER = "Log4j2WatcherAppender";
 
   @SuppressForbidden(reason = "class is specific to log4j2")
-  protected class Log4j2Appender extends AbstractAppender {
+  protected static class Log4j2Appender extends AbstractAppender {
 
     private Log4j2Watcher watcher;
     private ThresholdFilter filter;
@@ -78,7 +78,7 @@ public class Log4j2Watcher extends LogWatcher<LogEvent> {
   }
 
   @SuppressForbidden(reason = "class is specific to log4j2")
-  protected class Log4j2Info extends LoggerInfo {
+  protected static class Log4j2Info extends LoggerInfo {
     final Level level;
 
     Log4j2Info(String name, Level level) {
diff --git a/solr/core/src/java/org/apache/solr/request/LocalSolrQueryRequest.java b/solr/core/src/java/org/apache/solr/request/LocalSolrQueryRequest.java
index 3bf8aa80dd1..02b36e9c3e4 100644
--- a/solr/core/src/java/org/apache/solr/request/LocalSolrQueryRequest.java
+++ b/solr/core/src/java/org/apache/solr/request/LocalSolrQueryRequest.java
@@ -86,7 +86,7 @@ public class LocalSolrQueryRequest extends SolrQueryRequestBase {
     this.userPrincipalName = s;
   }
 
-  private final class LocalPrincipal implements Principal {
+  private static final class LocalPrincipal implements Principal {
     private final String user;
 
     public LocalPrincipal(String user) {
diff --git a/solr/core/src/java/org/apache/solr/response/JSONResponseWriter.java b/solr/core/src/java/org/apache/solr/response/JSONResponseWriter.java
index 21203f2e738..f972ca5e362 100644
--- a/solr/core/src/java/org/apache/solr/response/JSONResponseWriter.java
+++ b/solr/core/src/java/org/apache/solr/response/JSONResponseWriter.java
@@ -84,7 +84,7 @@ public class JSONResponseWriter implements QueryResponseWriter {
    * [{"name":"a","type":"int","value":1}, {"name":"bar","type":"str","value":"foo"},
    * {"name":null,"type":"float","value":3.4}]
    */
-  class ArrayOfNameTypeValueJSONWriter extends JSONWriter {
+  static class ArrayOfNameTypeValueJSONWriter extends JSONWriter {
     protected boolean writeTypeAndValueKey = false;
     private final boolean writeNullName;
 
diff --git a/solr/core/src/java/org/apache/solr/rest/schema/analysis/ManagedSynonymFilterFactory.java b/solr/core/src/java/org/apache/solr/rest/schema/analysis/ManagedSynonymFilterFactory.java
index a2bce21a4b0..a004c907f20 100644
--- a/solr/core/src/java/org/apache/solr/rest/schema/analysis/ManagedSynonymFilterFactory.java
+++ b/solr/core/src/java/org/apache/solr/rest/schema/analysis/ManagedSynonymFilterFactory.java
@@ -355,7 +355,7 @@ public class ManagedSynonymFilterFactory extends BaseManagedTokenFilterFactory {
    * Custom SynonymMap.Parser implementation that provides synonym mappings from the managed JSON in
    * this class during SynonymMap building.
    */
-  private class ManagedSynonymParser extends SynonymMap.Parser {
+  private static class ManagedSynonymParser extends SynonymMap.Parser {
 
     SynonymManager synonymManager;
 
diff --git a/solr/core/src/java/org/apache/solr/rest/schema/analysis/ManagedSynonymGraphFilterFactory.java b/solr/core/src/java/org/apache/solr/rest/schema/analysis/ManagedSynonymGraphFilterFactory.java
index 7517242f05e..7863ed6fc3b 100644
--- a/solr/core/src/java/org/apache/solr/rest/schema/analysis/ManagedSynonymGraphFilterFactory.java
+++ b/solr/core/src/java/org/apache/solr/rest/schema/analysis/ManagedSynonymGraphFilterFactory.java
@@ -351,7 +351,7 @@ public class ManagedSynonymGraphFilterFactory extends BaseManagedTokenFilterFact
    * Custom SynonymMap.Parser implementation that provides synonym mappings from the managed JSON in
    * this class during SynonymMap building.
    */
-  private class ManagedSynonymParser extends SynonymMap.Parser {
+  private static class ManagedSynonymParser extends SynonymMap.Parser {
 
     SynonymManager synonymManager;
 
diff --git a/solr/core/src/java/org/apache/solr/search/ExportQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/ExportQParserPlugin.java
index c55bdeba82f..16c3393786a 100644
--- a/solr/core/src/java/org/apache/solr/search/ExportQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/ExportQParserPlugin.java
@@ -48,7 +48,7 @@ public class ExportQParserPlugin extends QParserPlugin {
     return new ExportQParser(qstr, localParams, params, request);
   }
 
-  public class ExportQParser extends QParser {
+  public static class ExportQParser extends QParser {
 
     public ExportQParser(
         String qstr, SolrParams localParams, SolrParams params, SolrQueryRequest request) {
@@ -65,7 +65,7 @@ public class ExportQParserPlugin extends QParserPlugin {
     }
   }
 
-  public class ExportQuery extends RankQuery {
+  public static class ExportQuery extends RankQuery {
     private Query mainQuery;
     private Object id;
 
diff --git a/solr/core/src/java/org/apache/solr/search/GraphTermsQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/GraphTermsQParserPlugin.java
index f9dd2619778..3baae4e4027 100644
--- a/solr/core/src/java/org/apache/solr/search/GraphTermsQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/GraphTermsQParserPlugin.java
@@ -157,7 +157,7 @@ public class GraphTermsQParserPlugin extends QParserPlugin {
   }
 
   /** Similar to {@code TermsQuery} but adds a {@code maxDocFreq}. */
-  private class GraphTermsQuery extends Query implements ExtendedQuery {
+  private static class GraphTermsQuery extends Query implements ExtendedQuery {
     // Not a post filter. This will typically be used as the main query.
 
     private Term[] queryTerms;
diff --git a/solr/core/src/java/org/apache/solr/search/ReRankQParserPlugin.java b/solr/core/src/java/org/apache/solr/search/ReRankQParserPlugin.java
index 803694ea5a9..3bb9a5efc8c 100644
--- a/solr/core/src/java/org/apache/solr/search/ReRankQParserPlugin.java
+++ b/solr/core/src/java/org/apache/solr/search/ReRankQParserPlugin.java
@@ -50,7 +50,7 @@ public class ReRankQParserPlugin extends QParserPlugin {
     return new ReRankQParser(query, localParams, params, req);
   }
 
-  private class ReRankQParser extends QParser {
+  private static class ReRankQParser extends QParser {
 
     public ReRankQParser(
         String query, SolrParams localParams, SolrParams params, SolrQueryRequest req) {
@@ -96,7 +96,7 @@ public class ReRankQParserPlugin extends QParserPlugin {
     }
   }
 
-  private final class ReRankQuery extends AbstractReRankQuery {
+  private static final class ReRankQuery extends AbstractReRankQuery {
     private final Query reRankQuery;
     private final double reRankWeight;
 
diff --git a/solr/core/src/java/org/apache/solr/search/facet/AvgAgg.java b/solr/core/src/java/org/apache/solr/search/facet/AvgAgg.java
index 843366c71fa..1a6e79e0924 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/AvgAgg.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/AvgAgg.java
@@ -90,7 +90,7 @@ public class AvgAgg extends SimpleAggValueSource {
     }
   }
 
-  class AvgSortedNumericAcc extends DocValuesAcc.DoubleSortedNumericDVAcc {
+  static class AvgSortedNumericAcc extends DocValuesAcc.DoubleSortedNumericDVAcc {
     int[] counts;
 
     public AvgSortedNumericAcc(FacetContext fcontext, SchemaField sf, int numSlots)
@@ -141,7 +141,7 @@ public class AvgAgg extends SimpleAggValueSource {
     }
   }
 
-  class AvgSortedSetAcc extends DocValuesAcc.DoubleSortedSetDVAcc {
+  static class AvgSortedSetAcc extends DocValuesAcc.DoubleSortedSetDVAcc {
     int[] counts;
 
     public AvgSortedSetAcc(FacetContext fcontext, SchemaField sf, int numSlots) throws IOException {
@@ -195,7 +195,7 @@ public class AvgAgg extends SimpleAggValueSource {
     }
   }
 
-  class AvgUnInvertedFieldAcc extends UnInvertedFieldAcc.DoubleUnInvertedFieldAcc {
+  static class AvgUnInvertedFieldAcc extends UnInvertedFieldAcc.DoubleUnInvertedFieldAcc {
     int[] counts;
 
     public AvgUnInvertedFieldAcc(FacetContext fcontext, SchemaField sf, int numSlots)
diff --git a/solr/core/src/java/org/apache/solr/search/facet/CountValsAgg.java b/solr/core/src/java/org/apache/solr/search/facet/CountValsAgg.java
index da08b86e9bf..e4994ddb25f 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/CountValsAgg.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/CountValsAgg.java
@@ -65,7 +65,7 @@ public class CountValsAgg extends SimpleAggValueSource {
     return new FacetModule.FacetLongMerger();
   }
 
-  class CountValSlotAcc extends SlotAcc.LongFuncSlotAcc {
+  static class CountValSlotAcc extends SlotAcc.LongFuncSlotAcc {
 
     public CountValSlotAcc(ValueSource values, FacetContext fcontext, int numSlots) {
       super(values, fcontext, numSlots, 0);
@@ -80,7 +80,7 @@ public class CountValsAgg extends SimpleAggValueSource {
     }
   }
 
-  class CountSortedNumericDVAcc extends DocValuesAcc.LongSortedNumericDVAcc {
+  static class CountSortedNumericDVAcc extends DocValuesAcc.LongSortedNumericDVAcc {
 
     public CountSortedNumericDVAcc(FacetContext fcontext, SchemaField sf, int numSlots)
         throws IOException {
@@ -93,7 +93,7 @@ public class CountValsAgg extends SimpleAggValueSource {
     }
   }
 
-  class CountSortedSetDVAcc extends DocValuesAcc.LongSortedSetDVAcc {
+  static class CountSortedSetDVAcc extends DocValuesAcc.LongSortedSetDVAcc {
 
     public CountSortedSetDVAcc(FacetContext fcontext, SchemaField sf, int numSlots)
         throws IOException {
@@ -108,7 +108,7 @@ public class CountValsAgg extends SimpleAggValueSource {
     }
   }
 
-  class CountMultiValuedAcc extends UnInvertedFieldAcc {
+  static class CountMultiValuedAcc extends UnInvertedFieldAcc {
     private int currentSlot;
     long[] result;
 
diff --git a/solr/core/src/java/org/apache/solr/search/facet/DocValuesAcc.java b/solr/core/src/java/org/apache/solr/search/facet/DocValuesAcc.java
index 086af5cc391..fddfcf92118 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/DocValuesAcc.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/DocValuesAcc.java
@@ -60,7 +60,7 @@ public abstract class DocValuesAcc extends SlotAcc {
   protected abstract boolean advanceExact(int doc) throws IOException;
 
   /** Accumulator for {@link NumericDocValues} */
-  abstract class NumericDVAcc extends DocValuesAcc {
+  abstract static class NumericDVAcc extends DocValuesAcc {
     NumericDocValues values;
 
     public NumericDVAcc(FacetContext fcontext, SchemaField sf) throws IOException {
@@ -249,7 +249,7 @@ public abstract class DocValuesAcc extends SlotAcc {
   }
 
   /** Accumulator for {@link SortedDocValues} */
-  abstract class SortedDVAcc extends DocValuesAcc {
+  abstract static class SortedDVAcc extends DocValuesAcc {
     SortedDocValues values;
 
     public SortedDVAcc(FacetContext fcontext, SchemaField sf) throws IOException {
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 116be21f335..a41d790c038 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
@@ -357,7 +357,7 @@ public class FacetModule extends SearchComponent {
   // TODO: perhaps factor out some sort of root/parent facet object that doesn't depend
   // on stuff like ResponseBuilder, but contains request parameters,
   // root filter lists (for filter exclusions), etc?
-  class FacetComponentState {
+  static class FacetComponentState {
     ResponseBuilder rb;
     Map<String, Object> facetCommands;
     FacetRequest facetRequest;
diff --git a/solr/core/src/java/org/apache/solr/search/facet/MinMaxAgg.java b/solr/core/src/java/org/apache/solr/search/facet/MinMaxAgg.java
index 9307e0e2f3f..efbbfc4d501 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/MinMaxAgg.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/MinMaxAgg.java
@@ -368,7 +368,7 @@ public class MinMaxAgg extends SimpleAggValueSource {
     }
   }
 
-  abstract class OrdAcc extends SlotAcc {
+  abstract static class OrdAcc extends SlotAcc {
     static final int MISSING = -1;
     SchemaField field;
     int[] slotOrd;
diff --git a/solr/core/src/java/org/apache/solr/search/facet/MissingAgg.java b/solr/core/src/java/org/apache/solr/search/facet/MissingAgg.java
index 2f4c5f23ea6..e471020345f 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/MissingAgg.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/MissingAgg.java
@@ -62,7 +62,7 @@ public class MissingAgg extends SimpleAggValueSource {
     return new FacetModule.FacetLongMerger();
   }
 
-  class MissingSlotAcc extends SlotAcc.LongFuncSlotAcc {
+  static class MissingSlotAcc extends SlotAcc.LongFuncSlotAcc {
 
     public MissingSlotAcc(ValueSource values, FacetContext fcontext, int numSlots) {
       super(values, fcontext, numSlots, 0);
diff --git a/solr/core/src/java/org/apache/solr/search/facet/StddevAgg.java b/solr/core/src/java/org/apache/solr/search/facet/StddevAgg.java
index 70fc1eb746b..1c930604aa5 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/StddevAgg.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/StddevAgg.java
@@ -91,7 +91,7 @@ public class StddevAgg extends SimpleAggValueSource {
     }
   }
 
-  class StddevSortedNumericAcc extends DocValuesAcc.SDVSortedNumericAcc {
+  static class StddevSortedNumericAcc extends DocValuesAcc.SDVSortedNumericAcc {
 
     public StddevSortedNumericAcc(FacetContext fcontext, SchemaField sf, int numSlots)
         throws IOException {
@@ -105,7 +105,7 @@ public class StddevAgg extends SimpleAggValueSource {
     }
   }
 
-  class StddevSortedSetAcc extends DocValuesAcc.SDVSortedSetAcc {
+  static class StddevSortedSetAcc extends DocValuesAcc.SDVSortedSetAcc {
 
     public StddevSortedSetAcc(FacetContext fcontext, SchemaField sf, int numSlots)
         throws IOException {
@@ -119,7 +119,7 @@ public class StddevAgg extends SimpleAggValueSource {
     }
   }
 
-  class StddevUnInvertedFieldAcc extends UnInvertedFieldAcc.SDVUnInvertedFieldAcc {
+  static class StddevUnInvertedFieldAcc extends UnInvertedFieldAcc.SDVUnInvertedFieldAcc {
 
     public StddevUnInvertedFieldAcc(FacetContext fcontext, SchemaField sf, int numSlots)
         throws IOException {
diff --git a/solr/core/src/java/org/apache/solr/search/facet/SumAgg.java b/solr/core/src/java/org/apache/solr/search/facet/SumAgg.java
index f7fdc14ba0c..614981e325a 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/SumAgg.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/SumAgg.java
@@ -83,7 +83,7 @@ public class SumAgg extends SimpleAggValueSource {
     }
   }
 
-  class SumSortedNumericAcc extends DocValuesAcc.DoubleSortedNumericDVAcc {
+  static class SumSortedNumericAcc extends DocValuesAcc.DoubleSortedNumericDVAcc {
 
     public SumSortedNumericAcc(FacetContext fcontext, SchemaField sf, int numSlots)
         throws IOException {
@@ -98,7 +98,7 @@ public class SumAgg extends SimpleAggValueSource {
     }
   }
 
-  class SumSortedSetAcc extends DocValuesAcc.DoubleSortedSetDVAcc {
+  static class SumSortedSetAcc extends DocValuesAcc.DoubleSortedSetDVAcc {
 
     public SumSortedSetAcc(FacetContext fcontext, SchemaField sf, int numSlots) throws IOException {
       super(fcontext, sf, numSlots, 0);
@@ -116,7 +116,7 @@ public class SumAgg extends SimpleAggValueSource {
     }
   }
 
-  class SumUnInvertedFieldAcc extends UnInvertedFieldAcc.DoubleUnInvertedFieldAcc {
+  static class SumUnInvertedFieldAcc extends UnInvertedFieldAcc.DoubleUnInvertedFieldAcc {
 
     public SumUnInvertedFieldAcc(FacetContext fcontext, SchemaField sf, int numSlots)
         throws IOException {
diff --git a/solr/core/src/java/org/apache/solr/search/facet/SumsqAgg.java b/solr/core/src/java/org/apache/solr/search/facet/SumsqAgg.java
index a6e87ec8f96..6d4983812c5 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/SumsqAgg.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/SumsqAgg.java
@@ -68,7 +68,7 @@ public class SumsqAgg extends SimpleAggValueSource {
     return new SumAgg.Merger();
   }
 
-  class SumSqSortedNumericAcc extends DocValuesAcc.DoubleSortedNumericDVAcc {
+  static class SumSqSortedNumericAcc extends DocValuesAcc.DoubleSortedNumericDVAcc {
 
     public SumSqSortedNumericAcc(FacetContext fcontext, SchemaField sf, int numSlots)
         throws IOException {
@@ -84,7 +84,7 @@ public class SumsqAgg extends SimpleAggValueSource {
     }
   }
 
-  class SumSqSortedSetAcc extends DocValuesAcc.DoubleSortedSetDVAcc {
+  static class SumSqSortedSetAcc extends DocValuesAcc.DoubleSortedSetDVAcc {
 
     public SumSqSortedSetAcc(FacetContext fcontext, SchemaField sf, int numSlots)
         throws IOException {
@@ -103,7 +103,7 @@ public class SumsqAgg extends SimpleAggValueSource {
     }
   }
 
-  class SumSqUnInvertedFieldAcc extends UnInvertedFieldAcc.DoubleUnInvertedFieldAcc {
+  static class SumSqUnInvertedFieldAcc extends UnInvertedFieldAcc.DoubleUnInvertedFieldAcc {
 
     public SumSqUnInvertedFieldAcc(FacetContext fcontext, SchemaField sf, int numSlots)
         throws IOException {
diff --git a/solr/core/src/java/org/apache/solr/search/facet/VarianceAgg.java b/solr/core/src/java/org/apache/solr/search/facet/VarianceAgg.java
index a4c1a7a43a1..276e1c014f4 100644
--- a/solr/core/src/java/org/apache/solr/search/facet/VarianceAgg.java
+++ b/solr/core/src/java/org/apache/solr/search/facet/VarianceAgg.java
@@ -90,7 +90,7 @@ public class VarianceAgg extends SimpleAggValueSource {
     }
   }
 
-  class VarianceSortedNumericAcc extends DocValuesAcc.SDVSortedNumericAcc {
+  static class VarianceSortedNumericAcc extends DocValuesAcc.SDVSortedNumericAcc {
 
     public VarianceSortedNumericAcc(FacetContext fcontext, SchemaField sf, int numSlots)
         throws IOException {
@@ -104,7 +104,7 @@ public class VarianceAgg extends SimpleAggValueSource {
     }
   }
 
-  class VarianceSortedSetAcc extends DocValuesAcc.SDVSortedSetAcc {
+  static class VarianceSortedSetAcc extends DocValuesAcc.SDVSortedSetAcc {
 
     public VarianceSortedSetAcc(FacetContext fcontext, SchemaField sf, int numSlots)
         throws IOException {
@@ -118,7 +118,7 @@ public class VarianceAgg extends SimpleAggValueSource {
     }
   }
 
-  class VarianceUnInvertedFieldAcc extends UnInvertedFieldAcc.SDVUnInvertedFieldAcc {
+  static class VarianceUnInvertedFieldAcc extends UnInvertedFieldAcc.SDVUnInvertedFieldAcc {
 
     public VarianceUnInvertedFieldAcc(FacetContext fcontext, SchemaField sf, int numSlots)
         throws IOException {
diff --git a/solr/core/src/java/org/apache/solr/search/join/CrossCollectionJoinQuery.java b/solr/core/src/java/org/apache/solr/search/join/CrossCollectionJoinQuery.java
index da779b1090e..c0fb74355df 100644
--- a/solr/core/src/java/org/apache/solr/search/join/CrossCollectionJoinQuery.java
+++ b/solr/core/src/java/org/apache/solr/search/join/CrossCollectionJoinQuery.java
@@ -112,7 +112,7 @@ public class CrossCollectionJoinQuery extends Query {
     DocSet getDocSet() throws IOException;
   }
 
-  private class TermsJoinKeyCollector implements JoinKeyCollector {
+  private static class TermsJoinKeyCollector implements JoinKeyCollector {
 
     FieldType fieldType;
     SolrIndexSearcher searcher;
diff --git a/solr/core/src/java/org/apache/solr/security/AuditLoggerPlugin.java b/solr/core/src/java/org/apache/solr/security/AuditLoggerPlugin.java
index 62d6d952220..49708efaebc 100644
--- a/solr/core/src/java/org/apache/solr/security/AuditLoggerPlugin.java
+++ b/solr/core/src/java/org/apache/solr/security/AuditLoggerPlugin.java
@@ -386,7 +386,7 @@ public abstract class AuditLoggerPlugin implements Closeable, Runnable, SolrInfo
   }
 
   /** Set of rules for when audit logging should be muted. */
-  private class MuteRules {
+  private static class MuteRules {
     private List<List<MuteRule>> rules;
 
     MuteRules(Object o) {
diff --git a/solr/core/src/java/org/apache/solr/security/BasicAuthPlugin.java b/solr/core/src/java/org/apache/solr/security/BasicAuthPlugin.java
index 9e8ce1a6f2f..0fd18fa4287 100644
--- a/solr/core/src/java/org/apache/solr/security/BasicAuthPlugin.java
+++ b/solr/core/src/java/org/apache/solr/security/BasicAuthPlugin.java
@@ -287,7 +287,7 @@ public class BasicAuthPlugin extends AuthenticationPlugin
   }
 
   @Contract(threading = ThreadingBehavior.IMMUTABLE)
-  private class BasicAuthUserPrincipal implements Principal, Serializable {
+  private static class BasicAuthUserPrincipal implements Principal, Serializable {
     private String username;
     private final String password;
 
diff --git a/solr/core/src/java/org/apache/solr/update/TransactionLog.java b/solr/core/src/java/org/apache/solr/update/TransactionLog.java
index 55678912468..56f694314ee 100644
--- a/solr/core/src/java/org/apache/solr/update/TransactionLog.java
+++ b/solr/core/src/java/org/apache/solr/update/TransactionLog.java
@@ -799,7 +799,7 @@ public class TransactionLog implements Closeable {
     }
   }
 
-  public abstract class ReverseReader {
+  public abstract static class ReverseReader {
 
     /**
      * Returns the next object from the log, or null if none available.
diff --git a/solr/core/src/test/org/apache/solr/cloud/LeaderElectionTest.java b/solr/core/src/test/org/apache/solr/cloud/LeaderElectionTest.java
index 66df9f1fc87..8dd949c410b 100644
--- a/solr/core/src/test/org/apache/solr/cloud/LeaderElectionTest.java
+++ b/solr/core/src/test/org/apache/solr/cloud/LeaderElectionTest.java
@@ -74,7 +74,7 @@ public class LeaderElectionTest extends SolrTestCaseJ4 {
     zkClient.makePath("/collections/collection2", true);
   }
 
-  class TestLeaderElectionContext extends ShardLeaderElectionContextBase {
+  static class TestLeaderElectionContext extends ShardLeaderElectionContextBase {
     private long runLeaderDelay = 0;
 
     public TestLeaderElectionContext(
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 05f6602755b..0c40d8a9a88 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestSSLRandomization.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestSSLRandomization.java
@@ -50,38 +50,38 @@ public class TestSSLRandomization extends SolrCloudTestCase {
 
   /** Used by {@link #testSSLRandomizer} */
   @RandomizeSSL(ssl = 0.42, clientAuth = 0.33, reason = "foo")
-  public class FullyAnnotated {}
+  public static class FullyAnnotated {}
   ;
 
   /** Used by {@link #testSSLRandomizer} */
-  public class InheritedFullyAnnotated extends FullyAnnotated {}
+  public static class InheritedFullyAnnotated extends FullyAnnotated {}
   ;
 
   /** Used by {@link #testSSLRandomizer} */
-  public class NotAnnotated {}
+  public static class NotAnnotated {}
   ;
 
   /** Used by {@link #testSSLRandomizer} */
-  public class InheritedNotAnnotated extends NotAnnotated {}
+  public static class InheritedNotAnnotated extends NotAnnotated {}
   ;
 
   /** Used by {@link #testSSLRandomizer} */
   @SuppressSSL(bugUrl = "fakeBugUrl")
-  public class Suppressed {}
+  public static class Suppressed {}
   ;
 
   /** Used by {@link #testSSLRandomizer} */
-  public class InheritedSuppressed extends Suppressed {}
+  public static class InheritedSuppressed extends Suppressed {}
   ;
 
   /** Used by {@link #testSSLRandomizer} */
   @SuppressSSL(bugUrl = "fakeBugUrl")
-  public class InheritedAnnotationButSuppressed extends FullyAnnotated {}
+  public static class InheritedAnnotationButSuppressed extends FullyAnnotated {}
   ;
 
   /** Used by {@link #testSSLRandomizer} */
   @RandomizeSSL(ssl = 0.42, clientAuth = 0.33, reason = "foo")
-  public class InheritedSuppressedWithIgnoredAnnotation extends Suppressed {
+  public static class InheritedSuppressedWithIgnoredAnnotation extends Suppressed {
     // Even with direct annotation, suppression at superclass overrules us.
     //
     // (If it didn't work this way, it would be a pain in the ass to quickly disable SSL for a
@@ -90,60 +90,61 @@ public class TestSSLRandomization extends SolrCloudTestCase {
 
   /** Used by {@link #testSSLRandomizer} */
   @RandomizeSSL()
-  public class EmptyAnnotated {}
+  public static class EmptyAnnotated {}
   ;
 
   /** Used by {@link #testSSLRandomizer} */
-  public class InheritedEmptyAnnotated extends EmptyAnnotated {}
+  public static class InheritedEmptyAnnotated extends EmptyAnnotated {}
   ;
 
   /** Used by {@link #testSSLRandomizer} */
   @RandomizeSSL(0.5)
-  public class InheritedEmptyAnnotationWithOverride extends EmptyAnnotated {}
+  public static class InheritedEmptyAnnotationWithOverride extends EmptyAnnotated {}
   ;
 
   /** Used by {@link #testSSLRandomizer} */
   @RandomizeSSL(ssl = 0.42, clientAuth = 0.33, reason = "foo")
-  public class GrandchildInheritedEmptyAnnotationWithOverride extends InheritedEmptyAnnotated {}
+  public static class GrandchildInheritedEmptyAnnotationWithOverride
+      extends InheritedEmptyAnnotated {}
   ;
 
   /** Used by {@link #testSSLRandomizer} */
   @RandomizeSSL(0.5)
-  public class SimplyAnnotated {}
+  public static class SimplyAnnotated {}
   ;
 
   /** Used by {@link #testSSLRandomizer} */
   @RandomizeSSL(0.0)
-  public class MinAnnotated {}
+  public static class MinAnnotated {}
   ;
 
   /** Used by {@link #testSSLRandomizer} */
   @RandomizeSSL(1)
-  public class MaxAnnotated {}
+  public static class MaxAnnotated {}
   ;
 
   /** Used by {@link #testSSLRandomizer} */
   @RandomizeSSL(ssl = 0.42)
-  public class SSlButNoClientAuthAnnotated {}
+  public static class SSlButNoClientAuthAnnotated {}
   ;
 
   /** Used by {@link #testSSLRandomizer} */
   @RandomizeSSL(clientAuth = 0.42)
-  public class ClientAuthButNoSSLAnnotated {}
+  public static class ClientAuthButNoSSLAnnotated {}
   ;
 
   /** Used by {@link #testSSLRandomizer} */
   @RandomizeSSL(ssl = 42.0)
-  public class SSLOutOfRangeAnnotated {}
+  public static class SSLOutOfRangeAnnotated {}
   ;
 
   /** Used by {@link #testSSLRandomizer} */
   @RandomizeSSL(clientAuth = 42.0)
-  public class ClientAuthOutOfRangeAnnotated {}
+  public static class ClientAuthOutOfRangeAnnotated {}
   ;
 
   /** Used by {@link #testSSLRandomizer} */
-  public class InheritedOutOfRangeAnnotated extends ClientAuthOutOfRangeAnnotated {}
+  public static class InheritedOutOfRangeAnnotated extends ClientAuthOutOfRangeAnnotated {}
   ;
 
   public void testSSLRandomizer() {
diff --git a/solr/core/src/test/org/apache/solr/cloud/TestWaitForStateWithJettyShutdowns.java b/solr/core/src/test/org/apache/solr/cloud/TestWaitForStateWithJettyShutdowns.java
index bddb5ba2e35..dbbb15ee056 100644
--- a/solr/core/src/test/org/apache/solr/cloud/TestWaitForStateWithJettyShutdowns.java
+++ b/solr/core/src/test/org/apache/solr/cloud/TestWaitForStateWithJettyShutdowns.java
@@ -143,7 +143,7 @@ public class TestWaitForStateWithJettyShutdowns extends SolrTestCaseJ4 {
     }
   }
 
-  public final class LatchCountingPredicateWrapper implements CollectionStatePredicate {
+  public static final class LatchCountingPredicateWrapper implements CollectionStatePredicate {
     private final CountDownLatch latch;
     private final CollectionStatePredicate inner;
 
diff --git a/solr/core/src/test/org/apache/solr/handler/FieldAnalysisRequestHandlerTest.java b/solr/core/src/test/org/apache/solr/handler/FieldAnalysisRequestHandlerTest.java
index b6f8cbd1f34..2cc1ba80c78 100644
--- a/solr/core/src/test/org/apache/solr/handler/FieldAnalysisRequestHandlerTest.java
+++ b/solr/core/src/test/org/apache/solr/handler/FieldAnalysisRequestHandlerTest.java
@@ -818,14 +818,14 @@ public class FieldAnalysisRequestHandlerTest extends AnalysisRequestHandlerTestB
   }
 
   /** A custom impl of a standard attribute impl; test this instance is used. */
-  public class CustomFlagsAttributeImpl extends FlagsAttributeImpl {
+  public static class CustomFlagsAttributeImpl extends FlagsAttributeImpl {
     @Override
     public void setFlags(int flags) {
       super.setFlags(900 + flags); // silly modification
     }
   }
 
-  private class CustomTokenizer extends Tokenizer {
+  private static class CustomTokenizer extends Tokenizer {
     CharTermAttribute charAtt;
     FlagsAttribute customAtt;
     boolean sentOneToken;
@@ -854,7 +854,7 @@ public class FieldAnalysisRequestHandlerTest extends AnalysisRequestHandlerTestB
     }
   }
 
-  private class CustomTokenFilter extends TokenFilter {
+  private static class CustomTokenFilter extends TokenFilter {
     FlagsAttribute flagAtt;
 
     public CustomTokenFilter(TokenStream input) {
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 2612a42ea46..feee84732cc 100644
--- a/solr/core/src/test/org/apache/solr/handler/TestContainerPlugin.java
+++ b/solr/core/src/test/org/apache/solr/handler/TestContainerPlugin.java
@@ -83,7 +83,7 @@ public class TestContainerPlugin extends SolrCloudTestCase {
    * <p>Use by calling {@link #reset()} before the API calls, and then {@link #waitFor(int)} to
    * block until <code>num</code> cores have been notified.
    */
-  class CountingListener implements PackageListeners.Listener {
+  static class CountingListener implements PackageListeners.Listener {
     private Semaphore changeCalled = new Semaphore(0);
 
     @Override
@@ -464,7 +464,7 @@ public class TestContainerPlugin extends SolrCloudTestCase {
       method = GET,
       path = "/plugin/my/plugin",
       permission = PermissionNameProvider.Name.COLL_READ_PERM)
-  public class C2 {}
+  public static class C2 {}
 
   @EndPoint(
       method = GET,
diff --git a/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java b/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java
index 5e284d9fff3..c4b502c06b6 100644
--- a/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java
+++ b/solr/core/src/test/org/apache/solr/handler/TestReplicationHandler.java
@@ -1738,7 +1738,7 @@ public class TestReplicationHandler extends SolrTestCaseJ4 {
     assertEquals("aaa", ReplicationHandler.getObjectWithBackwardCompatibility(nl, "foo", "bar"));
   }
 
-  private class AddExtraDocs implements Runnable {
+  private static class AddExtraDocs implements Runnable {
 
     SolrClient leaderClient;
     int startId;
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 95a15b6f799..999e9142f73 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
@@ -258,7 +258,7 @@ public class TestApiFramework extends SolrTestCaseJ4 {
       path = "/node/filestore/*",
       method = SolrRequest.METHOD.GET,
       permission = PermissionNameProvider.Name.ALL)
-  public class DummyTest {
+  public static class DummyTest {
     @Command
     public void read(SolrQueryRequest req, SolrQueryResponse rsp) {
       rsp.add("FSRead.called", "true");
@@ -266,7 +266,7 @@ public class TestApiFramework extends SolrTestCaseJ4 {
     }
   }
 
-  public class DummyTest1 {
+  public static class DummyTest1 {
     @EndPoint(
         path = "/node/filestore/*",
         method = SolrRequest.METHOD.GET,
diff --git a/solr/core/src/test/org/apache/solr/handler/export/TestExportWriter.java b/solr/core/src/test/org/apache/solr/handler/export/TestExportWriter.java
index 7d0cf5e4e6a..7afc2d1d108 100644
--- a/solr/core/src/test/org/apache/solr/handler/export/TestExportWriter.java
+++ b/solr/core/src/test/org/apache/solr/handler/export/TestExportWriter.java
@@ -1409,7 +1409,7 @@ public class TestExportWriter extends SolrTestCaseJ4 {
     }
   }
 
-  private class SortFields {
+  private static class SortFields {
     String fieldName;
     String sortOrder;
     String[] orders = {"asc", "desc"};
diff --git a/solr/core/src/test/org/apache/solr/handler/tagger/TaggerTestCase.java b/solr/core/src/test/org/apache/solr/handler/tagger/TaggerTestCase.java
index 2f22e0de4c5..7257e1f6290 100644
--- a/solr/core/src/test/org/apache/solr/handler/tagger/TaggerTestCase.java
+++ b/solr/core/src/test/org/apache/solr/handler/tagger/TaggerTestCase.java
@@ -211,7 +211,7 @@ public abstract class TaggerTestCase extends SolrTestCaseJ4 {
     }
   }
 
-  class TestTag implements Comparable<TestTag> {
+  static class TestTag implements Comparable<TestTag> {
     final int startOffset, endOffset;
     final String substring;
     final String docName;
diff --git a/solr/core/src/test/org/apache/solr/rest/TestManagedResource.java b/solr/core/src/test/org/apache/solr/rest/TestManagedResource.java
index 3f9dc81d26a..5b4338a4b99 100644
--- a/solr/core/src/test/org/apache/solr/rest/TestManagedResource.java
+++ b/solr/core/src/test/org/apache/solr/rest/TestManagedResource.java
@@ -68,7 +68,7 @@ public class TestManagedResource extends SolrTestCaseJ4 {
     }
   }
 
-  private class ManagedTestResource extends ManagedResource {
+  private static class ManagedTestResource extends ManagedResource {
 
     private Object managedData;
 
@@ -179,7 +179,7 @@ public class TestManagedResource extends SolrTestCaseJ4 {
     }
   }
 
-  private class CustomStorageFormatResource extends ManagedTestResource {
+  private static class CustomStorageFormatResource extends ManagedTestResource {
     private CustomStorageFormatResource(
         String resourceId, SolrResourceLoader loader, StorageIO storageIO) throws SolrException {
       super(resourceId, loader, storageIO);
diff --git a/solr/core/src/test/org/apache/solr/schema/TestPointFields.java b/solr/core/src/test/org/apache/solr/schema/TestPointFields.java
index 407fb4eca3b..b82e1136c7d 100644
--- a/solr/core/src/test/org/apache/solr/schema/TestPointFields.java
+++ b/solr/core/src/test/org/apache/solr/schema/TestPointFields.java
@@ -667,7 +667,7 @@ public class TestPointFields extends SolrTestCaseJ4 {
         .toArray(new String[list.size()]);
   }
 
-  private class PosVal<T extends Comparable<T>> {
+  private static class PosVal<T extends Comparable<T>> {
     int pos;
     T val;
 
diff --git a/solr/core/src/test/org/apache/solr/search/TestCancellableCollector.java b/solr/core/src/test/org/apache/solr/search/TestCancellableCollector.java
index 1641f14bea5..7f187c01371 100644
--- a/solr/core/src/test/org/apache/solr/search/TestCancellableCollector.java
+++ b/solr/core/src/test/org/apache/solr/search/TestCancellableCollector.java
@@ -168,7 +168,7 @@ public class TestCancellableCollector extends SolrTestCase {
         });
   }
 
-  public class DummyCancellableCollector extends CancellableCollector {
+  public static class DummyCancellableCollector extends CancellableCollector {
     private final CancellableCollector collector;
     private final boolean delayStart;
     private final boolean delayCollection;
diff --git a/solr/core/src/test/org/apache/solr/search/TestExtendedDismaxParser.java b/solr/core/src/test/org/apache/solr/search/TestExtendedDismaxParser.java
index 98b94d04f2d..be3edd51934 100644
--- a/solr/core/src/test/org/apache/solr/search/TestExtendedDismaxParser.java
+++ b/solr/core/src/test/org/apache/solr/search/TestExtendedDismaxParser.java
@@ -3198,7 +3198,7 @@ public class TestExtendedDismaxParser extends SolrTestCaseJ4 {
       return new MultilanguageDismaxConfiguration(localParams, params, req);
     }
 
-    class MultilanguageDismaxConfiguration extends ExtendedDismaxConfiguration {
+    static class MultilanguageDismaxConfiguration extends ExtendedDismaxConfiguration {
 
       public MultilanguageDismaxConfiguration(
           SolrParams localParams, SolrParams params, SolrQueryRequest req) {
@@ -3226,7 +3226,7 @@ public class TestExtendedDismaxParser extends SolrTestCaseJ4 {
       return new FuzzyQueryParser(qParser, field);
     }
 
-    class FuzzyQueryParser extends ExtendedSolrQueryParser {
+    static class FuzzyQueryParser extends ExtendedSolrQueryParser {
 
       private Set<String> frequentlyMisspelledWords;
 
diff --git a/solr/core/src/test/org/apache/solr/search/TestTermsQParserPlugin.java b/solr/core/src/test/org/apache/solr/search/TestTermsQParserPlugin.java
index aa250dba243..4f755573a1b 100644
--- a/solr/core/src/test/org/apache/solr/search/TestTermsQParserPlugin.java
+++ b/solr/core/src/test/org/apache/solr/search/TestTermsQParserPlugin.java
@@ -164,7 +164,7 @@ public class TestTermsQParserPlugin extends SolrTestCaseJ4 {
         SolrException.ErrorCode.BAD_REQUEST);
   }
 
-  class TermsParams {
+  static class TermsParams {
     public String method;
     public boolean cache;
 
diff --git a/solr/core/src/test/org/apache/solr/security/AuditLoggerIntegrationTest.java b/solr/core/src/test/org/apache/solr/security/AuditLoggerIntegrationTest.java
index 91f6208a836..e42a6b89578 100644
--- a/solr/core/src/test/org/apache/solr/security/AuditLoggerIntegrationTest.java
+++ b/solr/core/src/test/org/apache/solr/security/AuditLoggerIntegrationTest.java
@@ -552,7 +552,7 @@ public class AuditLoggerIntegrationTest extends SolrCloudAuthTestCase {
   // code. This all goes back to MiniSolrCloudCluster.close, which really _can_ throw an
   // InterruptedException
   @SuppressWarnings({"try"})
-  private class CallbackReceiver implements Runnable, AutoCloseable {
+  private static class CallbackReceiver implements Runnable, AutoCloseable {
     private final ServerSocket serverSocket;
     private BlockingQueue<AuditEvent> queue = new LinkedBlockingDeque<>();
 
@@ -617,7 +617,7 @@ public class AuditLoggerIntegrationTest extends SolrCloudAuthTestCase {
   // code. This all goes back to MiniSolrCloudCluster.close, which really _can_ throw an
   // InterruptedException
   @SuppressWarnings({"try"})
-  private class AuditTestHarness implements AutoCloseable {
+  private static class AuditTestHarness implements AutoCloseable {
     CallbackReceiver receiver;
     int callbackPort;
     Thread receiverThread;
diff --git a/solr/core/src/test/org/apache/solr/util/TestRTimerTree.java b/solr/core/src/test/org/apache/solr/util/TestRTimerTree.java
index 23a67a8daab..02630e09fb9 100644
--- a/solr/core/src/test/org/apache/solr/util/TestRTimerTree.java
+++ b/solr/core/src/test/org/apache/solr/util/TestRTimerTree.java
@@ -41,7 +41,7 @@ public class TestRTimerTree extends SolrTestCase {
     }
   }
 
-  private class MockRTimerTree extends RTimerTree {
+  private static class MockRTimerTree extends RTimerTree {
     @Override
     protected TimerImpl newTimerImpl() {
       return new MockTimerImpl();
diff --git a/solr/modules/ltr/src/java/org/apache/solr/ltr/response/transform/LTRInterleavingTransformerFactory.java b/solr/modules/ltr/src/java/org/apache/solr/ltr/response/transform/LTRInterleavingTransformerFactory.java
index 91a59e6cc3d..e08b564fb22 100644
--- a/solr/modules/ltr/src/java/org/apache/solr/ltr/response/transform/LTRInterleavingTransformerFactory.java
+++ b/solr/modules/ltr/src/java/org/apache/solr/ltr/response/transform/LTRInterleavingTransformerFactory.java
@@ -42,7 +42,7 @@ public class LTRInterleavingTransformerFactory extends TransformerFactory {
     return new InterleavingTransformer(name, req);
   }
 
-  class InterleavingTransformer extends DocTransformer {
+  static class InterleavingTransformer extends DocTransformer {
 
     private final String name;
     private final SolrQueryRequest req;
diff --git a/solr/solr-ref-guide/modules/query-guide/examples/JsonRequestApiTest.java b/solr/solr-ref-guide/modules/query-guide/examples/JsonRequestApiTest.java
index 71bcbf9037d..3a95cf6de1d 100644
--- a/solr/solr-ref-guide/modules/query-guide/examples/JsonRequestApiTest.java
+++ b/solr/solr-ref-guide/modules/query-guide/examples/JsonRequestApiTest.java
@@ -744,7 +744,7 @@ public class JsonRequestApiTest extends SolrCloudTestCase {
         new FacetBucket("search", 1));
   }
 
-  private class FacetBucket {
+  private static class FacetBucket {
     private final Object val;
     private final int count;
 
diff --git a/solr/solrj-zookeeper/src/java/org/apache/solr/common/cloud/ZkStateReader.java b/solr/solrj-zookeeper/src/java/org/apache/solr/common/cloud/ZkStateReader.java
index f11eccb5430..2110e4a63c9 100644
--- a/solr/solrj-zookeeper/src/java/org/apache/solr/common/cloud/ZkStateReader.java
+++ b/solr/solrj-zookeeper/src/java/org/apache/solr/common/cloud/ZkStateReader.java
@@ -1307,7 +1307,7 @@ public class ZkStateReader implements SolrCloseable {
     }
   }
 
-  private class VersionedCollectionProps {
+  private static class VersionedCollectionProps {
     int zkVersion;
     Map<String, String> props;
     long cacheUntilNs = 0;
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 875f21a8ade..a6201918b8e 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
@@ -356,7 +356,7 @@ public abstract class BaseHttpClusterStateProvider implements ClusterStateProvid
   }
 
   // This exception is not meant to escape this class it should be caught and wrapped.
-  private class NotACollectionException extends Exception {}
+  private static class NotACollectionException extends Exception {}
 
   @Override
   public String getQuorumHosts() {
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/PairSortEvaluator.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/PairSortEvaluator.java
index 6a1b8e8efb2..9b9b105acba 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/PairSortEvaluator.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/eval/PairSortEvaluator.java
@@ -97,7 +97,7 @@ public class PairSortEvaluator extends RecursiveNumericEvaluator implements TwoV
     return new Matrix(data);
   }
 
-  private class PairComp implements Comparator<double[]> {
+  private static class PairComp implements Comparator<double[]> {
     @Override
     public int compare(double[] a, double[] b) {
       if (a[0] > b[0]) {
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/CartesianProductStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/CartesianProductStream.java
index 4884581b1b2..c9973c5496e 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/CartesianProductStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/CartesianProductStream.java
@@ -339,7 +339,7 @@ public class CartesianProductStream extends TupleStream implements Expressible {
     return 0;
   }
 
-  class NamedEvaluator {
+  static class NamedEvaluator {
     private String name;
     private StreamEvaluator evaluator;
 
diff --git a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/ParallelListStream.java b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/ParallelListStream.java
index e16daa27f70..a8a205c06ce 100644
--- a/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/ParallelListStream.java
+++ b/solr/solrj/src/java/org/apache/solr/client/solrj/io/stream/ParallelListStream.java
@@ -164,7 +164,7 @@ public class ParallelListStream extends TupleStream implements Expressible {
     }
   }
 
-  protected class StreamOpener implements Callable<StreamIndex> {
+  protected static class StreamOpener implements Callable<StreamIndex> {
 
     private StreamIndex streamIndex;
 
@@ -179,7 +179,7 @@ public class ParallelListStream extends TupleStream implements Expressible {
     }
   }
 
-  protected class StreamIndex {
+  protected static class StreamIndex {
     private TupleStream tupleStream;
     private int index;
 
diff --git a/solr/solrj/src/java/org/noggit/CharArr.java b/solr/solrj/src/java/org/noggit/CharArr.java
index 7de8fc581bd..6e8ac9f2d25 100644
--- a/solr/solrj/src/java/org/noggit/CharArr.java
+++ b/solr/solrj/src/java/org/noggit/CharArr.java
@@ -258,7 +258,7 @@ public class CharArr implements CharSequence, Appendable {
   }
 
   // IDEA: a subclass that refills the array from a reader?
-  class CharArrReader extends CharArr {
+  static class CharArrReader extends CharArr {
     protected final Reader in;
 
     public CharArrReader(Reader in, int size) {
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/request/json/DirectJsonQueryRequestFacetingEmbeddedTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/request/json/DirectJsonQueryRequestFacetingEmbeddedTest.java
index af4a76a865c..eebd3e6c5ae 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/request/json/DirectJsonQueryRequestFacetingEmbeddedTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/request/json/DirectJsonQueryRequestFacetingEmbeddedTest.java
@@ -625,7 +625,7 @@ public class DirectJsonQueryRequestFacetingEmbeddedTest extends EmbeddedSolrServ
         new FacetBucket("currency", 4));
   }
 
-  private class FacetBucket {
+  private static class FacetBucket {
     private final Object val;
     private final int count;
 
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/request/json/DirectJsonQueryRequestFacetingIntegrationTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/request/json/DirectJsonQueryRequestFacetingIntegrationTest.java
index 4ad699afd2c..33d7e2b9b70 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/request/json/DirectJsonQueryRequestFacetingIntegrationTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/request/json/DirectJsonQueryRequestFacetingIntegrationTest.java
@@ -604,7 +604,7 @@ public class DirectJsonQueryRequestFacetingIntegrationTest extends SolrCloudTest
         new FacetBucket("currency", 4));
   }
 
-  private class FacetBucket {
+  private static class FacetBucket {
     private final Object val;
     private final int count;
 
diff --git a/solr/solrj/src/test/org/apache/solr/client/solrj/request/json/JsonQueryRequestFacetingIntegrationTest.java b/solr/solrj/src/test/org/apache/solr/client/solrj/request/json/JsonQueryRequestFacetingIntegrationTest.java
index 58c684c92ee..91592436530 100644
--- a/solr/solrj/src/test/org/apache/solr/client/solrj/request/json/JsonQueryRequestFacetingIntegrationTest.java
+++ b/solr/solrj/src/test/org/apache/solr/client/solrj/request/json/JsonQueryRequestFacetingIntegrationTest.java
@@ -592,7 +592,7 @@ public class JsonQueryRequestFacetingIntegrationTest extends SolrCloudTestCase {
     assertEquals(7, topLevelFacetData.getBucketBasedFacets("price_range").getBetween());
   }
 
-  private class FacetBucket {
+  private static class FacetBucket {
     private final Object val;
     private final int count;