Skip to content

Commit 37a0869

Browse files
authored
SOLR-18137: Prevent use of Fully Qualified Name in classes (#4165)
1 parent 1962fc6 commit 37a0869

87 files changed

Lines changed: 234 additions & 164 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

gradle/validation/error-prone.gradle

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -540,6 +540,7 @@ allprojects {prj ->
540540
'-Xep:UnescapedEntity:WARN',
541541
// '-Xep:UnicodeEscape:OFF', // can't enable since Lucene/Solr tests use unicode a bunch
542542
// '-Xep:UnnecessaryAssignment:OFF', // we don't use these annotations
543+
'-Xep:UnnecessarilyFullyQualified:WARN',
543544
'-Xep:UnnecessaryAsync:WARN',
544545
// '-Xep:UnnecessaryBreakInSwitch:WARN', // todo check if useful or comment why not
545546
// '-Xep:UnnecessaryCopy:OFF', // proto-specific, not widely used
@@ -587,3 +588,21 @@ allprojects {prj ->
587588
}
588589
}
589590
}
591+
592+
// Exclude generated OpenAPI sources in solrj from Error Prone checks.
593+
configure(project(":solr:solrj")) {
594+
plugins.withId(libs.plugins.ltgt.errorprone.get().pluginId) {
595+
tasks.withType(JavaCompile) {
596+
options.errorprone.excludedPaths = ".*/build/generated/.*"
597+
}
598+
}
599+
}
600+
601+
// Exclude JavaCC-generated parser sources in solr:core from Error Prone checks.
602+
configure(project(":solr:core")) {
603+
plugins.withId(libs.plugins.ltgt.errorprone.get().pluginId) {
604+
tasks.withType(JavaCompile) {
605+
options.errorprone.excludedPaths = ".*/org/apache/solr/parser/.*"
606+
}
607+
}
608+
}

solr/core/src/java/org/apache/solr/cli/RunExampleTool.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
package org.apache.solr.cli;
1919

20+
import java.io.ByteArrayInputStream;
2021
import java.io.IOException;
2122
import java.io.InputStream;
2223
import java.net.Socket;
@@ -560,7 +561,7 @@ protected void runCloudExample(CommandLine cli) throws Exception {
560561
// Create a scanner from the provided prompts
561562
String promptsValue = cli.getOptionValue(PROMPT_INPUTS_OPTION);
562563
InputStream promptsStream =
563-
new java.io.ByteArrayInputStream(promptsValue.getBytes(StandardCharsets.UTF_8));
564+
new ByteArrayInputStream(promptsValue.getBytes(StandardCharsets.UTF_8));
564565
readInput = new Scanner(promptsStream, StandardCharsets.UTF_8);
565566
readInput.useDelimiter(",");
566567
prompt = true; // Enable prompting code path, but reading from prompts instead of user

solr/core/src/java/org/apache/solr/cli/SolrCLI.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import java.nio.file.Path;
2626
import java.util.ArrayList;
2727
import java.util.Arrays;
28+
import java.util.Collections;
2829
import java.util.Enumeration;
2930
import java.util.List;
3031
import java.util.Locale;
@@ -39,6 +40,7 @@
3940
import org.apache.commons.cli.Options;
4041
import org.apache.commons.cli.ParseException;
4142
import org.apache.commons.cli.help.HelpFormatter;
43+
import org.apache.commons.cli.help.TableDefinition;
4244
import org.apache.commons.cli.help.TextHelpAppendable;
4345
import org.apache.solr.client.solrj.SolrClient;
4446
import org.apache.solr.client.solrj.request.ContentStreamUpdateRequest;
@@ -316,16 +318,14 @@ public static HelpFormatter getFormatter() {
316318
TextHelpAppendable helpAppendable =
317319
new TextHelpAppendable(System.out) {
318320
@Override
319-
public void appendTable(org.apache.commons.cli.help.TableDefinition table)
320-
throws IOException {
321+
public void appendTable(TableDefinition table) throws IOException {
321322
if (table == null) {
322323
return;
323324
}
324325
// Create a new TableDefinition with empty headers to suppress the header row
325-
java.util.List<String> emptyHeaders =
326-
java.util.Collections.nCopies(table.headers().size(), "");
327-
org.apache.commons.cli.help.TableDefinition noHeaderTable =
328-
org.apache.commons.cli.help.TableDefinition.from(
326+
List<String> emptyHeaders = Collections.nCopies(table.headers().size(), "");
327+
TableDefinition noHeaderTable =
328+
TableDefinition.from(
329329
table.caption(), table.columnTextStyles(), emptyHeaders, table.rows());
330330
super.appendTable(noHeaderTable);
331331
}

solr/core/src/java/org/apache/solr/cli/ToolRuntime.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public abstract class ToolRuntime {
3535
public void exit(int status) {
3636
try {
3737
System.exit(status);
38-
} catch (java.lang.SecurityException secExc) {
38+
} catch (SecurityException secExc) {
3939
if (status != 0) throw new RuntimeException("SolrCLI failed to exit with status " + status);
4040
}
4141
}

solr/core/src/java/org/apache/solr/cloud/Overseer.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@
6868
import org.apache.solr.update.UpdateShardHandler;
6969
import org.apache.zookeeper.CreateMode;
7070
import org.apache.zookeeper.KeeperException;
71+
import org.apache.zookeeper.data.Stat;
7172
import org.slf4j.Logger;
7273
import org.slf4j.LoggerFactory;
7374

@@ -461,7 +462,7 @@ private void checkIfIamStillLeader() {
461462
&& (zkController.getCoreContainer().isShutDown() || zkController.isClosed())) {
462463
return; // shutting down no need to go further
463464
}
464-
org.apache.zookeeper.data.Stat stat = new org.apache.zookeeper.data.Stat();
465+
Stat stat = new Stat();
465466
final String path = OVERSEER_ELECT + "/leader";
466467
byte[] data;
467468
try {

solr/core/src/java/org/apache/solr/cloud/api/collections/RoutedAlias.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ public static RoutedAlias fromProps(String aliasName, Map<String, String> props)
103103
// multi-dimensional routed alias
104104
typeStr = typeStr.substring(DIMENSIONAL.length(), typeStr.length() - 1);
105105
String[] types = typeStr.split(",");
106-
java.util.List<String> fields = new ArrayList<>();
106+
List<String> fields = new ArrayList<>();
107107
if (types.length > 2) {
108108
throw new SolrException(
109109
BAD_REQUEST,

solr/core/src/java/org/apache/solr/cluster/placement/impl/PlacementPluginAssignStrategy.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
import org.apache.solr.client.solrj.cloud.SolrCloudManager;
2828
import org.apache.solr.cloud.api.collections.Assign;
2929
import org.apache.solr.cluster.Node;
30+
import org.apache.solr.cluster.Replica.ReplicaType;
3031
import org.apache.solr.cluster.placement.BalanceRequest;
3132
import org.apache.solr.cluster.placement.DeleteCollectionRequest;
3233
import org.apache.solr.cluster.placement.DeleteReplicasRequest;
@@ -198,8 +199,7 @@ private static List<ReplicaPosition> computeSystemCollectionPositions(
198199
ArrayList<Node> nodeList = new ArrayList<>(request.getTargetNodes());
199200
for (String shard : request.getShardNames()) {
200201
int replicaNumOfShard = 0;
201-
for (org.apache.solr.cluster.Replica.ReplicaType replicaType :
202-
org.apache.solr.cluster.Replica.ReplicaType.values()) {
202+
for (ReplicaType replicaType : ReplicaType.values()) {
203203
for (int i = 0; i < request.getCountReplicasToCreate(replicaType); i++) {
204204
Node assignedNode = nodeList.get(replicaNumOfShard++ % nodeList.size());
205205
replicaPositions.add(

solr/core/src/java/org/apache/solr/cluster/placement/impl/SimpleClusterAbstractionsImpl.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
import org.apache.solr.cluster.SolrCollection;
3535
import org.apache.solr.common.cloud.ClusterState;
3636
import org.apache.solr.common.cloud.DocCollection;
37+
import org.apache.solr.common.cloud.Replica.State;
3738
import org.apache.solr.common.cloud.Slice;
3839
import org.apache.solr.common.params.CollectionAdminParams;
3940
import org.apache.solr.common.util.Pair;
@@ -396,7 +397,7 @@ private Replica.ReplicaType translateType(org.apache.solr.common.cloud.Replica.T
396397
}
397398
}
398399

399-
private Replica.ReplicaState translateState(org.apache.solr.common.cloud.Replica.State state) {
400+
private Replica.ReplicaState translateState(State state) {
400401
switch (state) {
401402
case ACTIVE:
402403
return Replica.ReplicaState.ACTIVE;

solr/core/src/java/org/apache/solr/core/SolrConfig.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@
7777
import org.apache.solr.search.CaffeineCache;
7878
import org.apache.solr.search.QParserPlugin;
7979
import org.apache.solr.search.SolrCache;
80+
import org.apache.solr.search.SolrIndexSearcher;
8081
import org.apache.solr.search.ValueSourceParser;
8182
import org.apache.solr.search.stats.StatsCache;
8283
import org.apache.solr.servlet.SolrRequestParsers;
@@ -320,7 +321,7 @@ private SolrConfig(SolrResourceLoader loader, String name, Properties substituta
320321
dataDir = get("dataDir").txt();
321322
if (dataDir != null && dataDir.length() == 0) dataDir = null;
322323

323-
org.apache.solr.search.SolrIndexSearcher.initRegenerators(this);
324+
SolrIndexSearcher.initRegenerators(this);
324325

325326
if (get("jmx").exists()) {
326327
log.warn(

solr/core/src/java/org/apache/solr/handler/admin/ZookeeperInfoHandler.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import java.net.URLEncoder;
2525
import java.nio.charset.StandardCharsets;
2626
import java.util.ArrayList;
27+
import java.util.Collections;
2728
import java.util.Comparator;
2829
import java.util.Date;
2930
import java.util.LinkedHashMap;
@@ -648,7 +649,7 @@ private boolean buildTree(List<Object> treeList, String path) {
648649

649650
try {
650651
List<String> children = zkClient.getChildren(path, null);
651-
java.util.Collections.sort(children);
652+
Collections.sort(children);
652653

653654
for (String child : children) {
654655
String childPath = path + (path.endsWith("/") ? "" : "/") + child;

0 commit comments

Comments
 (0)