From bcff7d74cd8745dea9fd80839bceb11f850bf3f3 Mon Sep 17 00:00:00 2001 From: Sam Brannen Date: Mon, 31 Jul 2023 16:23:47 +0300 Subject: [PATCH] Replace map entry traversal with switch expression See gh-30851 --- .../support/DefaultTransactionDefinition.java | 30 +++++++++++-------- 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/spring-tx/src/main/java/org/springframework/transaction/support/DefaultTransactionDefinition.java b/spring-tx/src/main/java/org/springframework/transaction/support/DefaultTransactionDefinition.java index cea1f3a4d6..c0588f4f6d 100644 --- a/spring-tx/src/main/java/org/springframework/transaction/support/DefaultTransactionDefinition.java +++ b/spring-tx/src/main/java/org/springframework/transaction/support/DefaultTransactionDefinition.java @@ -332,21 +332,27 @@ public class DefaultTransactionDefinition implements TransactionDefinition, Seri } private static String getPropagationBehaviorName(int propagationBehavior) { - for (Map.Entry entry : propagationConstants.entrySet()) { - if (entry.getValue().equals(propagationBehavior)) { - return entry.getKey(); - } - } - throw new IllegalArgumentException("Unsupported propagation behavior: " + propagationBehavior); + return switch(propagationBehavior) { + case TransactionDefinition.PROPAGATION_REQUIRED -> "PROPAGATION_REQUIRED"; + case TransactionDefinition.PROPAGATION_SUPPORTS -> "PROPAGATION_SUPPORTS"; + case TransactionDefinition.PROPAGATION_MANDATORY -> "PROPAGATION_MANDATORY"; + case TransactionDefinition.PROPAGATION_REQUIRES_NEW -> "PROPAGATION_REQUIRES_NEW"; + case TransactionDefinition.PROPAGATION_NOT_SUPPORTED -> "PROPAGATION_NOT_SUPPORTED"; + case TransactionDefinition.PROPAGATION_NEVER -> "PROPAGATION_NEVER"; + case TransactionDefinition.PROPAGATION_NESTED -> "PROPAGATION_NESTED"; + default -> throw new IllegalArgumentException("Unsupported propagation behavior: " + propagationBehavior); + }; } static String getIsolationLevelName(int isolationLevel) { - for (Map.Entry entry : isolationConstants.entrySet()) { - if (entry.getValue().equals(isolationLevel)) { - return entry.getKey(); - } - } - throw new IllegalArgumentException("Unsupported isolation level: " + isolationLevel); + return switch(isolationLevel) { + case TransactionDefinition.ISOLATION_DEFAULT -> "ISOLATION_DEFAULT"; + case TransactionDefinition.ISOLATION_READ_UNCOMMITTED -> "ISOLATION_READ_UNCOMMITTED"; + case TransactionDefinition.ISOLATION_READ_COMMITTED -> "ISOLATION_READ_COMMITTED"; + case TransactionDefinition.ISOLATION_REPEATABLE_READ -> "ISOLATION_REPEATABLE_READ"; + case TransactionDefinition.ISOLATION_SERIALIZABLE -> "ISOLATION_SERIALIZABLE"; + default -> throw new IllegalArgumentException("Unsupported isolation level: " + isolationLevel); + }; } }