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

chia7712 pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/kafka.git


The following commit(s) were added to refs/heads/trunk by this push:
     new c254b22a487 MINOR: simplify ensure topic exists condition (#15458)
c254b22a487 is described below

commit c254b22a4877e70617b2710b95ef44b8cc55ce97
Author: PoAn Yang <[email protected]>
AuthorDate: Mon Mar 4 19:50:56 2024 +0800

    MINOR: simplify ensure topic exists condition (#15458)
    
    Reviewers: Chia-Ping Tsai <[email protected]>
---
 tools/src/main/java/org/apache/kafka/tools/TopicCommand.java | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/tools/src/main/java/org/apache/kafka/tools/TopicCommand.java 
b/tools/src/main/java/org/apache/kafka/tools/TopicCommand.java
index 043ae521f5b..66650cb9db5 100644
--- a/tools/src/main/java/org/apache/kafka/tools/TopicCommand.java
+++ b/tools/src/main/java/org/apache/kafka/tools/TopicCommand.java
@@ -208,9 +208,9 @@ public abstract class TopicCommand {
      *                           If set to true, the command will throw an 
exception if the topic with the
      *                           requested name does not exist.
      */
-    private static void ensureTopicExists(List<String> foundTopics, String 
requestedTopic, Boolean requireTopicExists) {
+    private static void ensureTopicExists(List<String> foundTopics, 
Optional<String> requestedTopic, Boolean requireTopicExists) {
         // If no topic name was mentioned, do not need to throw exception.
-        if (!(requestedTopic.isEmpty() || 
!Optional.ofNullable(requestedTopic).isPresent()) && requireTopicExists && 
foundTopics.isEmpty()) {
+        if (requestedTopic.isPresent() && !requestedTopic.get().isEmpty() && 
requireTopicExists && foundTopics.isEmpty()) {
             // If given topic doesn't exist then throw exception
             throw new IllegalArgumentException(String.format("Topic '%s' does 
not exist as expected", requestedTopic));
         }
@@ -490,7 +490,7 @@ public abstract class TopicCommand {
         public void alterTopic(TopicCommandOptions opts) throws 
ExecutionException, InterruptedException {
             CommandTopicPartition topic = new CommandTopicPartition(opts);
             List<String> topics = getTopics(opts.topic(), 
opts.excludeInternalTopics());
-            ensureTopicExists(topics, opts.topic().orElse(""), 
!opts.ifExists());
+            ensureTopicExists(topics, opts.topic(), !opts.ifExists());
 
             if (!topics.isEmpty()) {
                 Map<String, 
KafkaFuture<org.apache.kafka.clients.admin.TopicDescription>> topicsInfo = 
adminClient.describeTopics(topics).topicNameValues();
@@ -556,7 +556,7 @@ public abstract class TopicCommand {
             if (useTopicId) {
                 ensureTopicIdExists(topicIds, inputTopicId.get(), 
!opts.ifExists());
             } else {
-                ensureTopicExists(topics, opts.topic().orElse(""), 
!opts.ifExists());
+                ensureTopicExists(topics, opts.topic(), !opts.ifExists());
             }
             List<org.apache.kafka.clients.admin.TopicDescription> 
topicDescriptions = new ArrayList<>();
 
@@ -632,7 +632,7 @@ public abstract class TopicCommand {
 
         public void deleteTopic(TopicCommandOptions opts) throws 
ExecutionException, InterruptedException {
             List<String> topics = getTopics(opts.topic(), 
opts.excludeInternalTopics());
-            ensureTopicExists(topics, opts.topic().orElse(""), 
!opts.ifExists());
+            ensureTopicExists(topics, opts.topic(), !opts.ifExists());
             adminClient.deleteTopics(Collections.unmodifiableList(topics),
                 new DeleteTopicsOptions().retryOnQuotaViolation(false)
             ).all().get();

Reply via email to