Use Java 21 instanceof match whenever possible
Gerrit master is now on Java 21 and it is therefore
possible to use a simpler form to cast an object
to a subtype with instanceof, see [1].
[1] https://docs.oracle.com/en/java/javase/21/language/pattern-matching-instanceof.html
Change-Id: I72a1357ed0a1cfe62d77f501f423152f5c463ed9
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/Configuration.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/Configuration.java
index 846192f..e6f3533 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/Configuration.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/Configuration.java
@@ -243,9 +243,9 @@
null,
SharedRefDbConfiguration.SharedRefDatabase.ENABLE_KEY,
true);
- if (cfg instanceof FileBasedConfig) {
+ if (cfg instanceof FileBasedConfig fileBasedConfig) {
try {
- ((FileBasedConfig) cfg).save();
+ fileBasedConfig.save();
} catch (IOException e) {
throw new IllegalStateException("Error while enabling global-refdb by default", e);
}
@@ -255,10 +255,9 @@
}
private Supplier<Config> lazyLoad(Config config) {
- if (config instanceof FileBasedConfig) {
+ if (config instanceof FileBasedConfig fileConfig) {
return memoize(
() -> {
- FileBasedConfig fileConfig = (FileBasedConfig) config;
String fileConfigFileName = fileConfig.getFile().getPath();
try {
log.info("Loading configuration from {}", fileConfigFileName);
@@ -273,8 +272,7 @@
}
private Supplier<Collection<Message>> lazyValidateReplicatioConfig(Config replicationConfig) {
- if (replicationConfig instanceof FileBasedConfig) {
- FileBasedConfig fileConfig = (FileBasedConfig) replicationConfig;
+ if (replicationConfig instanceof FileBasedConfig fileConfig) {
try {
fileConfig.load();
return memoize(() -> validateReplicationConfig(replicationConfig));
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/BatchIndexEventSubscriber.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/BatchIndexEventSubscriber.java
index 15d756b..045aded 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/BatchIndexEventSubscriber.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/BatchIndexEventSubscriber.java
@@ -51,11 +51,11 @@
@Override
protected Boolean shouldConsumeEvent(Event event) {
- if (event instanceof ChangeIndexEvent) {
- return projectsFilter.matches(((ChangeIndexEvent) event).projectName);
+ if (event instanceof ChangeIndexEvent changeIndexEvent) {
+ return projectsFilter.matches(changeIndexEvent.projectName);
}
- if (event instanceof ProjectIndexEvent) {
- return projectsFilter.matches(((ProjectIndexEvent) event).projectName);
+ if (event instanceof ProjectIndexEvent projectIndexEvent) {
+ return projectsFilter.matches(projectIndexEvent.projectName);
}
return true;
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/IndexEventSubscriber.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/IndexEventSubscriber.java
index a632618..7220cd5 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/IndexEventSubscriber.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/IndexEventSubscriber.java
@@ -57,16 +57,15 @@
@Override
protected Boolean shouldConsumeEvent(Event event) {
- if (event instanceof ChangeIndexEvent) {
- ChangeIndexEvent changeIndexEvent = (ChangeIndexEvent) event;
+ if (event instanceof ChangeIndexEvent changeIndexEvent) {
String projectName = changeIndexEvent.projectName;
if (isDeletedChangeWithEmptyProject(changeIndexEvent)) {
projectName = findProjectFromChangeId(changeIndexEvent.changeId).orElse(projectName);
}
return projectsFilter.matches(projectName);
}
- if (event instanceof ProjectIndexEvent) {
- return projectsFilter.matches(((ProjectIndexEvent) event).projectName);
+ if (event instanceof ProjectIndexEvent projectIndexEvent) {
+ return projectsFilter.matches(projectIndexEvent.projectName);
}
return true;
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/StreamEventSubscriber.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/StreamEventSubscriber.java
index 63fc29a..3450c38 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/StreamEventSubscriber.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/StreamEventSubscriber.java
@@ -50,8 +50,8 @@
@Override
protected Boolean shouldConsumeEvent(Event event) {
- if (event instanceof ProjectEvent) {
- return projectsFilter.matches(((ProjectEvent) event).getProjectNameKey().get());
+ if (event instanceof ProjectEvent projectEvent) {
+ return projectsFilter.matches(projectEvent.getProjectNameKey().get());
}
return true;
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/SubscriberMetrics.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/SubscriberMetrics.java
index ef71862..2801d5b 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/SubscriberMetrics.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/consumer/SubscriberMetrics.java
@@ -144,9 +144,7 @@
|| event instanceof RefUpdatedEvent) {
ProjectEvent projectEvent = (ProjectEvent) event;
replicationStatus.updateReplicationLag(projectEvent.getProjectNameKey());
- } else if (event instanceof ProjectDeletionReplicationSucceededEvent) {
- ProjectDeletionReplicationSucceededEvent projectDeletion =
- (ProjectDeletionReplicationSucceededEvent) event;
+ } else if (event instanceof ProjectDeletionReplicationSucceededEvent projectDeletion) {
replicationStatus.removeProjectFromReplicationLagMetrics(projectDeletion.getProjectNameKey());
}
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexAccountHandler.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexAccountHandler.java
index 6e0aa11..6d5e7bd 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexAccountHandler.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexAccountHandler.java
@@ -52,8 +52,7 @@
@Override
public void handle(IndexEvent sourceEvent) throws IOException {
- if (sourceEvent instanceof AccountIndexEvent) {
- AccountIndexEvent accountIndexEvent = (AccountIndexEvent) sourceEvent;
+ if (sourceEvent instanceof AccountIndexEvent accountIndexEvent) {
indexAsync(Account.id(accountIndexEvent.accountId), INDEX);
}
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexChangeHandler.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexChangeHandler.java
index aa5929f..8e98359 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexChangeHandler.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexChangeHandler.java
@@ -62,8 +62,7 @@
@Override
public void handle(IndexEvent sourceEvent) throws IOException {
- if (sourceEvent instanceof ChangeIndexEvent) {
- ChangeIndexEvent changeIndexEvent = (ChangeIndexEvent) sourceEvent;
+ if (sourceEvent instanceof ChangeIndexEvent changeIndexEvent) {
ForwardedIndexingHandler.Operation operation = changeIndexEvent.deleted ? DELETE : INDEX;
index(
changeIndexEvent.projectName + "~" + changeIndexEvent.changeId,
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexGroupHandler.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexGroupHandler.java
index f1141c9..953be7b 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexGroupHandler.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexGroupHandler.java
@@ -56,8 +56,7 @@
@Override
public void handle(IndexEvent sourceEvent) throws IOException {
- if (sourceEvent instanceof GroupIndexEvent) {
- GroupIndexEvent groupIndexEvent = (GroupIndexEvent) sourceEvent;
+ if (sourceEvent instanceof GroupIndexEvent groupIndexEvent) {
index(groupIndexEvent.groupUUID, INDEX, Optional.of(groupIndexEvent));
}
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexProjectHandler.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexProjectHandler.java
index 453d961..191e273 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexProjectHandler.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/forwarder/ForwardedIndexProjectHandler.java
@@ -56,8 +56,7 @@
@Override
public void handle(IndexEvent sourceEvent) throws IOException {
- if (sourceEvent instanceof ProjectIndexEvent) {
- ProjectIndexEvent projectIndexEvent = (ProjectIndexEvent) sourceEvent;
+ if (sourceEvent instanceof ProjectIndexEvent projectIndexEvent) {
index(projectIndexEvent.projectName, INDEX, Optional.of(projectIndexEvent));
}
}
diff --git a/src/main/java/com/googlesource/gerrit/plugins/multisite/index/FetchRefReplicatedEventHandler.java b/src/main/java/com/googlesource/gerrit/plugins/multisite/index/FetchRefReplicatedEventHandler.java
index 69cdb06..1e00452 100644
--- a/src/main/java/com/googlesource/gerrit/plugins/multisite/index/FetchRefReplicatedEventHandler.java
+++ b/src/main/java/com/googlesource/gerrit/plugins/multisite/index/FetchRefReplicatedEventHandler.java
@@ -55,8 +55,7 @@
try {
Context.setForwardedEvent(true);
- if (event instanceof FetchRefReplicatedEvent && isLocalEvent(event)) {
- FetchRefReplicatedEvent fetchRefReplicatedEvent = (FetchRefReplicatedEvent) event;
+ if (event instanceof FetchRefReplicatedEvent fetchRefReplicatedEvent && isLocalEvent(event)) {
// This removal of the ':' prefix is needed because of Issue 426470297 in the
// pull-replication plugin
// that may leave the deleted refs notification as a ref-spec instead of the deleted