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