Skip to content

Commit d588728

Browse files
garyrussellartembilan
authored andcommitted
GH-2535: Refactor Switch Statements
Resolves #2535 Change to expressions.
1 parent b442e09 commit d588728

File tree

6 files changed

+56
-126
lines changed

6 files changed

+56
-126
lines changed

spring-kafka/src/main/java/org/springframework/kafka/KafkaException.java

Lines changed: 8 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2016-2020 the original author or authors.
2+
* Copyright 2016-2023 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -107,26 +107,13 @@ public KafkaException(String message, Level level, @Nullable Throwable cause) {
107107
*/
108108
public void selfLog(String message, LogAccessor logger) {
109109
switch (this.logLevel) {
110-
case FATAL:
111-
logger.fatal(this, message);
112-
break;
113-
case ERROR:
114-
logger.error(this, message);
115-
break;
116-
case WARN:
117-
logger.warn(this, message);
118-
break;
119-
case INFO:
120-
logger.info(this, message);
121-
break;
122-
case DEBUG:
123-
logger.debug(this, message);
124-
break;
125-
case TRACE:
126-
logger.trace(this, message);
127-
break;
128-
default:
129-
logger.error(this, message);
110+
case FATAL -> logger.fatal(this, message);
111+
case ERROR -> logger.error(this, message);
112+
case WARN -> logger.warn(this, message);
113+
case INFO -> logger.info(this, message);
114+
case DEBUG -> logger.debug(this, message);
115+
case TRACE -> logger.trace(this, message);
116+
default -> logger.error(this, message);
130117
}
131118
}
132119

spring-kafka/src/main/java/org/springframework/kafka/listener/KafkaMessageListenerContainer.java

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -2466,24 +2466,18 @@ private void doInvokeBatchOnMessage(final ConsumerRecords<K, V> records,
24662466

24672467
try {
24682468
switch (this.listenerType) {
2469-
case ACKNOWLEDGING_CONSUMER_AWARE:
2469+
case ACKNOWLEDGING_CONSUMER_AWARE ->
24702470
this.batchListener.onMessage(recordList,
24712471
this.isAnyManualAck
24722472
? new ConsumerBatchAcknowledgment(records)
24732473
: null, this.consumer);
2474-
break;
2475-
case ACKNOWLEDGING:
2474+
case ACKNOWLEDGING ->
24762475
this.batchListener.onMessage(recordList,
24772476
this.isAnyManualAck
24782477
? new ConsumerBatchAcknowledgment(records)
24792478
: null);
2480-
break;
2481-
case CONSUMER_AWARE:
2482-
this.batchListener.onMessage(recordList, this.consumer);
2483-
break;
2484-
case SIMPLE:
2485-
this.batchListener.onMessage(recordList);
2486-
break;
2479+
case CONSUMER_AWARE -> this.batchListener.onMessage(recordList, this.consumer);
2480+
case SIMPLE -> this.batchListener.onMessage(recordList);
24872481
}
24882482
}
24892483
catch (Exception ex) { // NOSONAR
@@ -2877,24 +2871,18 @@ private void doInvokeOnMessage(final ConsumerRecord<K, V> recordArg) {
28772871
else {
28782872
try {
28792873
switch (this.listenerType) {
2880-
case ACKNOWLEDGING_CONSUMER_AWARE:
2874+
case ACKNOWLEDGING_CONSUMER_AWARE ->
28812875
this.listener.onMessage(cRecord,
28822876
this.isAnyManualAck
28832877
? new ConsumerAcknowledgment(cRecord)
28842878
: null, this.consumer);
2885-
break;
2886-
case CONSUMER_AWARE:
2887-
this.listener.onMessage(cRecord, this.consumer);
2888-
break;
2889-
case ACKNOWLEDGING:
2879+
case CONSUMER_AWARE -> this.listener.onMessage(cRecord, this.consumer);
2880+
case ACKNOWLEDGING ->
28902881
this.listener.onMessage(cRecord,
28912882
this.isAnyManualAck
28922883
? new ConsumerAcknowledgment(cRecord)
28932884
: null);
2894-
break;
2895-
case SIMPLE:
2896-
this.listener.onMessage(cRecord);
2897-
break;
2885+
case SIMPLE -> this.listener.onMessage(cRecord);
28982886
}
28992887
}
29002888
catch (Exception ex) { // NOSONAR

spring-kafka/src/main/java/org/springframework/kafka/listener/adapter/FilteringMessageListenerAdapter.java

Lines changed: 14 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2016-2021 the original author or authors.
2+
* Copyright 2016-2023 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -22,6 +22,7 @@
2222
import org.springframework.kafka.listener.AcknowledgingConsumerAwareMessageListener;
2323
import org.springframework.kafka.listener.MessageListener;
2424
import org.springframework.kafka.support.Acknowledgment;
25+
import org.springframework.lang.Nullable;
2526

2627
/**
2728
* A {@link MessageListener} adapter that implements filter logic
@@ -64,37 +65,31 @@ public FilteringMessageListenerAdapter(MessageListener<K, V> delegate,
6465
}
6566

6667
@Override
67-
public void onMessage(ConsumerRecord<K, V> consumerRecord, Acknowledgment acknowledgment, Consumer<?, ?> consumer) {
68+
public void onMessage(ConsumerRecord<K, V> consumerRecord, @Nullable Acknowledgment acknowledgment,
69+
Consumer<?, ?> consumer) {
70+
6871
if (!filter(consumerRecord)) {
6972
switch (this.delegateType) {
70-
case ACKNOWLEDGING_CONSUMER_AWARE:
71-
this.delegate.onMessage(consumerRecord, acknowledgment, consumer);
72-
break;
73-
case ACKNOWLEDGING:
74-
this.delegate.onMessage(consumerRecord, acknowledgment);
75-
break;
76-
case CONSUMER_AWARE:
77-
this.delegate.onMessage(consumerRecord, consumer);
78-
break;
79-
case SIMPLE:
80-
this.delegate.onMessage(consumerRecord);
73+
case ACKNOWLEDGING_CONSUMER_AWARE -> this.delegate.onMessage(consumerRecord, acknowledgment, consumer);
74+
case ACKNOWLEDGING -> this.delegate.onMessage(consumerRecord, acknowledgment);
75+
case CONSUMER_AWARE -> this.delegate.onMessage(consumerRecord, consumer);
76+
case SIMPLE -> this.delegate.onMessage(consumerRecord);
8177
}
8278
}
8379
else {
8480
ackFilteredIfNecessary(acknowledgment);
8581
}
8682
}
8783

88-
private void ackFilteredIfNecessary(Acknowledgment acknowledgment) {
84+
private void ackFilteredIfNecessary(@Nullable Acknowledgment acknowledgment) {
8985
switch (this.delegateType) {
90-
case ACKNOWLEDGING_CONSUMER_AWARE:
91-
case ACKNOWLEDGING:
86+
case ACKNOWLEDGING_CONSUMER_AWARE, ACKNOWLEDGING -> {
9287
if (this.ackDiscarded && acknowledgment != null) {
9388
acknowledgment.acknowledge();
9489
}
95-
break;
96-
case CONSUMER_AWARE:
97-
case SIMPLE:
90+
}
91+
case CONSUMER_AWARE, SIMPLE -> {
92+
}
9893
}
9994
}
10095

spring-kafka/src/main/java/org/springframework/kafka/listener/adapter/KafkaBackoffAwareMessageListenerAdapter.java

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2018-2022 the original author or authors.
2+
* Copyright 2018-2023 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -103,17 +103,10 @@ public void onMessage(ConsumerRecord<K, V> consumerRecord, @Nullable Acknowledgm
103103

104104
private void invokeDelegateOnMessage(ConsumerRecord<K, V> consumerRecord, Acknowledgment acknowledgment, Consumer<?, ?> consumer) {
105105
switch (this.delegateType) {
106-
case ACKNOWLEDGING_CONSUMER_AWARE:
107-
this.delegate.onMessage(consumerRecord, acknowledgment, consumer);
108-
break;
109-
case ACKNOWLEDGING:
110-
this.delegate.onMessage(consumerRecord, acknowledgment);
111-
break;
112-
case CONSUMER_AWARE:
113-
this.delegate.onMessage(consumerRecord, consumer);
114-
break;
115-
case SIMPLE:
116-
this.delegate.onMessage(consumerRecord);
106+
case ACKNOWLEDGING_CONSUMER_AWARE -> this.delegate.onMessage(consumerRecord, acknowledgment, consumer);
107+
case ACKNOWLEDGING -> this.delegate.onMessage(consumerRecord, acknowledgment);
108+
case CONSUMER_AWARE -> this.delegate.onMessage(consumerRecord, consumer);
109+
case SIMPLE -> this.delegate.onMessage(consumerRecord);
117110
}
118111
}
119112

spring-kafka/src/main/java/org/springframework/kafka/security/jaas/KafkaJaasLoginModuleInitializer.java

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2017-2019 the original author or authors.
2+
* Copyright 2017-2023 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -109,22 +109,13 @@ public void setLoginModule(String loginModule) {
109109

110110
public void setControlFlag(ControlFlag controlFlag) {
111111
Assert.notNull(controlFlag, "cannot be null");
112-
switch (controlFlag) {
113-
case OPTIONAL:
114-
this.controlFlag = AppConfigurationEntry.LoginModuleControlFlag.OPTIONAL;
115-
break;
116-
case REQUIRED:
117-
this.controlFlag = AppConfigurationEntry.LoginModuleControlFlag.REQUIRED;
118-
break;
119-
case REQUISITE:
120-
this.controlFlag = AppConfigurationEntry.LoginModuleControlFlag.REQUISITE;
121-
break;
122-
case SUFFICIENT:
123-
this.controlFlag = AppConfigurationEntry.LoginModuleControlFlag.SUFFICIENT;
124-
break;
125-
default:
126-
throw new IllegalArgumentException(controlFlag + " is not a supported control flag");
127-
}
112+
this.controlFlag = switch (controlFlag) {
113+
case OPTIONAL -> AppConfigurationEntry.LoginModuleControlFlag.OPTIONAL;
114+
case REQUIRED -> AppConfigurationEntry.LoginModuleControlFlag.REQUIRED;
115+
case REQUISITE -> AppConfigurationEntry.LoginModuleControlFlag.REQUISITE;
116+
case SUFFICIENT -> AppConfigurationEntry.LoginModuleControlFlag.SUFFICIENT;
117+
default -> throw new IllegalArgumentException(controlFlag + " is not a supported control flag");
118+
};
128119
}
129120

130121
public void setOptions(Map<String, String> options) {

spring-kafka/src/main/java/org/springframework/kafka/support/LogIfLevelEnabled.java

Lines changed: 13 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2018-2019 the original author or authors.
2+
* Copyright 2018-2023 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -81,47 +81,23 @@ public enum Level {
8181

8282
public void log(Supplier<CharSequence> messageSupplier) {
8383
switch (this.level) {
84-
case FATAL:
85-
fatal(messageSupplier, null);
86-
break;
87-
case ERROR:
88-
error(messageSupplier, null);
89-
break;
90-
case WARN:
91-
warn(messageSupplier, null);
92-
break;
93-
case INFO:
94-
info(messageSupplier, null);
95-
break;
96-
case DEBUG:
97-
debug(messageSupplier, null);
98-
break;
99-
case TRACE:
100-
trace(messageSupplier, null);
101-
break;
84+
case FATAL -> fatal(messageSupplier, null);
85+
case ERROR -> error(messageSupplier, null);
86+
case WARN -> warn(messageSupplier, null);
87+
case INFO -> info(messageSupplier, null);
88+
case DEBUG -> debug(messageSupplier, null);
89+
case TRACE -> trace(messageSupplier, null);
10290
}
10391
}
10492

10593
public void log(Supplier<CharSequence> messageSupplier, Throwable thrown) {
10694
switch (this.level) {
107-
case FATAL:
108-
fatal(messageSupplier, thrown);
109-
break;
110-
case ERROR:
111-
error(messageSupplier, thrown);
112-
break;
113-
case WARN:
114-
warn(messageSupplier, thrown);
115-
break;
116-
case INFO:
117-
info(messageSupplier, thrown);
118-
break;
119-
case DEBUG:
120-
debug(messageSupplier, thrown);
121-
break;
122-
case TRACE:
123-
trace(messageSupplier, thrown);
124-
break;
95+
case FATAL -> fatal(messageSupplier, thrown);
96+
case ERROR -> error(messageSupplier, thrown);
97+
case WARN -> warn(messageSupplier, thrown);
98+
case INFO -> info(messageSupplier, thrown);
99+
case DEBUG -> debug(messageSupplier, thrown);
100+
case TRACE -> trace(messageSupplier, thrown);
125101
}
126102
}
127103

0 commit comments

Comments
 (0)