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

rzo1 pushed a commit to branch tomee-10.x
in repository https://gitbox.apache.org/repos/asf/tomee.git

commit 01c6259b815f0fa2413acac88654a5cdfd667473
Author: Martin Wiesner <[email protected]>
AuthorDate: Wed Feb 25 22:28:13 2026 +0100

    Migrate to enhanced switch statements
    - fixes typos along the path
    
    (cherry picked from commit 31e9d1653aec0e86526a22c271460f78af353f6f)
---
 .../main/java/org/apache/openejb/BeanContext.java  |  43 +++----
 .../java/org/apache/openejb/InterfaceType.java     | 136 ++++++++-------------
 .../openejb/assembler/classic/JndiBuilder.java     |  18 ++-
 .../assembler/classic/LazyEjbReference.java        |  14 +--
 .../openejb/assembler/classic/MethodInfoUtil.java  |  59 +++------
 .../classic/ReloadableEntityManagerFactory.java    |  25 ++--
 .../java/org/apache/openejb/cdi/CdiEjbBean.java    |  22 ++--
 .../org/apache/openejb/config/AppInfoBuilder.java  |  16 +--
 .../openejb/config/ConfigurationFactory.java       |  16 +--
 .../apache/openejb/config/JndiEncInfoBuilder.java  |  16 +--
 .../org/apache/openejb/config/SunConversion.java   |  28 ++---
 .../openejb/config/rules/CheckPersistenceRefs.java |  21 ++--
 .../openejb/core/interceptor/InterceptorData.java  |  42 +++----
 .../openejb/core/ivm/BaseEjbProxyHandler.java      |  16 +--
 .../openejb/core/ivm/EjbHomeProxyHandler.java      |  25 ++--
 .../openejb/core/ivm/EjbObjectProxyHandler.java    |  31 ++---
 .../openejb/core/managed/ManagedContainer.java     |  13 +-
 .../openejb/core/singleton/SingletonContainer.java |   2 +-
 .../openejb/core/stateful/StatefulContainer.java   |  13 +-
 .../apache/openejb/core/timer/EJBCronTrigger.java  |  12 +-
 .../transaction/JtaTransactionPolicyFactory.java   |  28 ++---
 .../openejb/core/transaction/TransactionType.java  |  27 ++--
 .../apache/openejb/log/logger/Log4j2Logger.java    |  40 ++----
 .../jms2/TomEEManagedConnectionFactory.java        |  16 +--
 .../org/apache/openejb/util/ExecutorBuilder.java   |  30 ++---
 .../main/java/org/apache/openejb/util/Logger.java  |  21 ++--
 .../org/apache/openejb/util/SuperProperties.java   |  54 +++-----
 .../org/apache/openejb/util/proxy/QueryProxy.java  |  17 +--
 .../java/org/apache/openejb/sxc/TldTaglibXml.java  |  27 ++--
 .../apache/openejb/observer/ObserverManager.java   |  29 ++---
 .../superbiz/cdi/produces/disposes/LogFactory.java |  14 +--
 .../superbiz/cdi/produces/field/LogFactory.java    |  14 +--
 .../openejb/test/object/OperationsPolicy.java      |  50 +++-----
 .../jwt/config/JWTAuthConfigurationProperties.java |  14 +--
 .../org/apache/openejb/client/EJBHomeHandler.java  |  49 +++-----
 .../apache/openejb/client/EJBObjectHandler.java    |  30 ++---
 .../org/apache/openejb/client/EJBResponse.java     |  49 ++------
 .../openejb/client/EntityEJBHomeHandler.java       |  44 +++----
 .../openejb/client/EntityEJBObjectHandler.java     |  22 ++--
 .../openejb/server/ejbd/ClientObjectFactory.java   |  30 ++---
 .../openejb/server/webservices/WsService.java      |  25 ++--
 .../tomee/catalina/TomcatSecurityService.java      |  14 +--
 .../jul/handler/rotating/LocalFileHandler.java     |  16 +--
 .../provider/TomEESecurityServerAuthModule.java    |  17 +--
 44 files changed, 442 insertions(+), 803 deletions(-)

diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/BeanContext.java 
b/container/openejb-core/src/main/java/org/apache/openejb/BeanContext.java
index 2e53e13b03..c7f5fa9a98 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/BeanContext.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/BeanContext.java
@@ -374,34 +374,21 @@ public class BeanContext extends DeploymentContext {
     private final Map<Method, Boolean> removeExceptionPolicy = new HashMap<>();
 
     public Class getInterface(final InterfaceType interfaceType) {
-        switch (interfaceType) {
-            case EJB_HOME:
-                return getHomeInterface();
-            case EJB_OBJECT:
-                return getRemoteInterface();
-            case EJB_LOCAL_HOME:
-                return getLocalHomeInterface();
-            case EJB_LOCAL:
-                return getLocalInterface();
-            case BUSINESS_LOCAL:
-                return getBusinessLocalInterface();
-            case BUSINESS_REMOTE:
-                return getBusinessRemoteInterface();
-            case TIMEOUT:
-                return BeanContext.Timeout.class;
-            case BUSINESS_REMOTE_HOME:
-                return BeanContext.BusinessRemoteHome.class;
-            case BUSINESS_LOCAL_HOME:
-                return BeanContext.BusinessLocalHome.class;
-            case SERVICE_ENDPOINT:
-                return getServiceEndpointInterface();
-            case LOCALBEAN:
-                return getBeanClass();
-            case BUSINESS_LOCALBEAN_HOME:
-                return BeanContext.BusinessLocalBeanHome.class;
-            default:
-                throw new IllegalStateException("Unexpected enum constant: " + 
interfaceType);
-        }
+        return switch (interfaceType) {
+            case EJB_HOME -> getHomeInterface();
+            case EJB_OBJECT -> getRemoteInterface();
+            case EJB_LOCAL_HOME -> getLocalHomeInterface();
+            case EJB_LOCAL -> getLocalInterface();
+            case BUSINESS_LOCAL -> getBusinessLocalInterface();
+            case BUSINESS_REMOTE -> getBusinessRemoteInterface();
+            case TIMEOUT -> Timeout.class;
+            case BUSINESS_REMOTE_HOME -> BusinessRemoteHome.class;
+            case BUSINESS_LOCAL_HOME -> BusinessLocalHome.class;
+            case SERVICE_ENDPOINT -> getServiceEndpointInterface();
+            case LOCALBEAN -> getBeanClass();
+            case BUSINESS_LOCALBEAN_HOME -> BusinessLocalBeanHome.class;
+            default -> throw new IllegalStateException("Unexpected enum 
constant: " + interfaceType);
+        };
     }
 
     public List<Class> getInterfaces(final InterfaceType interfaceType) {
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/InterfaceType.java 
b/container/openejb-core/src/main/java/org/apache/openejb/InterfaceType.java
index fa195200ee..18ada37678 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/InterfaceType.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/InterfaceType.java
@@ -46,108 +46,76 @@ public enum InterfaceType {
     }
 
     public boolean isHome() {
-        switch (this) {
-            case EJB_HOME:
-                return true;
-            case EJB_LOCAL_HOME:
-                return true;
-            case BUSINESS_LOCAL_HOME:
-                return true;
-            case BUSINESS_LOCALBEAN_HOME:
-                return true;
-            case BUSINESS_REMOTE_HOME:
-                return true;
-        }
-        return false;
+        return switch (this) {
+            case EJB_HOME -> true;
+            case EJB_LOCAL_HOME -> true;
+            case BUSINESS_LOCAL_HOME -> true;
+            case BUSINESS_LOCALBEAN_HOME -> true;
+            case BUSINESS_REMOTE_HOME -> true;
+            default -> false;
+        };
     }
 
     public boolean isComponent() {
-        switch (this) {
-            case EJB_OBJECT:
-                return true;
-            case EJB_LOCAL:
-                return true;
-        }
-        return false;
+        return switch (this) {
+            case EJB_OBJECT -> true;
+            case EJB_LOCAL -> true;
+            default -> false;
+        };
     }
 
     public boolean isBusiness() {
-        switch (this) {
-            case BUSINESS_LOCAL:
-                return true;
-            case BUSINESS_REMOTE:
-                return true;
-            case LOCALBEAN:
-                return true;
-        }
-        return false;
+        return switch (this) {
+            case BUSINESS_LOCAL -> true;
+            case BUSINESS_REMOTE -> true;
+            case LOCALBEAN -> true;
+            default -> false;
+        };
     }
 
     public boolean isRemote() {
-        switch (this) {
-            case EJB_HOME:
-                return true;
-            case EJB_OBJECT:
-                return true;
-            case BUSINESS_REMOTE:
-                return true;
-            case BUSINESS_REMOTE_HOME:
-                return true;
-        }
-        return false;
+        return switch (this) {
+            case EJB_HOME -> true;
+            case EJB_OBJECT -> true;
+            case BUSINESS_REMOTE -> true;
+            case BUSINESS_REMOTE_HOME -> true;
+            default -> false;
+        };
     }
 
     public boolean isLocal() {
-        switch (this) {
-            case EJB_LOCAL_HOME:
-                return true;
-            case EJB_LOCAL:
-                return true;
-            case BUSINESS_LOCAL:
-                return true;
-            case BUSINESS_LOCAL_HOME:
-                return true;
-            case LOCALBEAN:
-                return true;
-        }
-        return false;
+        return switch (this) {
+            case EJB_LOCAL_HOME -> true;
+            case EJB_LOCAL -> true;
+            case BUSINESS_LOCAL -> true;
+            case BUSINESS_LOCAL_HOME -> true;
+            case LOCALBEAN -> true;
+            default -> false;
+        };
     }
 
     public boolean isLocalBean() {
-        switch (this) {
-            case LOCALBEAN:
-                return true;
-            case BUSINESS_LOCALBEAN_HOME:
-                return true;
-        }
-        return false;
+        return switch (this) {
+            case LOCALBEAN -> true;
+            case BUSINESS_LOCALBEAN_HOME -> true;
+            default -> false;
+        };
 
     }
 
     public InterfaceType getCounterpart() {
-        switch (this) {
-            case EJB_HOME:
-                return InterfaceType.EJB_OBJECT;
-            case EJB_LOCAL_HOME:
-                return InterfaceType.EJB_LOCAL;
-            case BUSINESS_REMOTE_HOME:
-                return InterfaceType.BUSINESS_REMOTE;
-            case BUSINESS_LOCAL_HOME:
-                return InterfaceType.BUSINESS_LOCAL;
-            case EJB_OBJECT:
-                return InterfaceType.EJB_HOME;
-            case EJB_LOCAL:
-                return InterfaceType.EJB_LOCAL_HOME;
-            case BUSINESS_REMOTE:
-                return InterfaceType.BUSINESS_REMOTE_HOME;
-            case BUSINESS_LOCAL:
-                return InterfaceType.BUSINESS_LOCAL_HOME;
-            case BUSINESS_LOCALBEAN_HOME:
-                return InterfaceType.LOCALBEAN;
-            case LOCALBEAN:
-                return InterfaceType.BUSINESS_LOCALBEAN_HOME;
-            default:
-                throw new IllegalArgumentException("InterfaceType has no 
counterpart: " + this);
-        }
+        return switch (this) {
+            case EJB_HOME -> InterfaceType.EJB_OBJECT;
+            case EJB_LOCAL_HOME -> InterfaceType.EJB_LOCAL;
+            case BUSINESS_REMOTE_HOME -> InterfaceType.BUSINESS_REMOTE;
+            case BUSINESS_LOCAL_HOME -> InterfaceType.BUSINESS_LOCAL;
+            case EJB_OBJECT -> InterfaceType.EJB_HOME;
+            case EJB_LOCAL -> InterfaceType.EJB_LOCAL_HOME;
+            case BUSINESS_REMOTE -> InterfaceType.BUSINESS_REMOTE_HOME;
+            case BUSINESS_LOCAL -> InterfaceType.BUSINESS_LOCAL_HOME;
+            case BUSINESS_LOCALBEAN_HOME -> InterfaceType.LOCALBEAN;
+            case LOCALBEAN -> InterfaceType.BUSINESS_LOCALBEAN_HOME;
+            default -> throw new IllegalArgumentException("InterfaceType has 
no counterpart: " + this);
+        };
     }
 }
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java
 
b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java
index 25972d358a..ad936f3f3e 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java
@@ -364,17 +364,13 @@ public class JndiBuilder {
                 id = id.substring(1);
             }
 
-            switch (type) {
-                case REMOTE_HOME:
-                    return id;
-                case LOCAL_HOME:
-                    return id + "Local";
-                case BUSINESS_LOCAL:
-                    return id + "BusinessLocal";
-                case BUSINESS_REMOTE:
-                    return id + "BusinessRemote";
-            }
-            return id;
+            return switch (type) {
+                case REMOTE_HOME -> id;
+                case LOCAL_HOME -> id + "Local";
+                case BUSINESS_LOCAL -> id + "BusinessLocal";
+                case BUSINESS_REMOTE -> id + "BusinessRemote";
+                default -> id;
+            };
         }
 
         @Override
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/LazyEjbReference.java
 
b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/LazyEjbReference.java
index 21422efbef..9b62f6b881 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/LazyEjbReference.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/LazyEjbReference.java
@@ -80,15 +80,11 @@ public class LazyEjbReference extends Reference {
             throw new NameNotFoundException(message);
         }
 
-        InterfaceType type = null;
-        switch (info.getRefType()) {
-            case LOCAL:
-                type = InterfaceType.BUSINESS_LOCAL;
-                break;
-            case REMOTE:
-                type = InterfaceType.BUSINESS_REMOTE;
-                break;
-        }
+        InterfaceType type = switch (info.getRefType()) {
+            case LOCAL -> InterfaceType.BUSINESS_LOCAL;
+            case REMOTE -> InterfaceType.BUSINESS_REMOTE;
+            default -> null;
+        };
 
         final String jndiName = "openejb/Deployment/" + 
JndiBuilder.format(deploymentId, info.getInterface(), type);
 
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/MethodInfoUtil.java
 
b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/MethodInfoUtil.java
index 75c18dbc60..9537676118 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/MethodInfoUtil.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/MethodInfoUtil.java
@@ -128,13 +128,11 @@ public class MethodInfoUtil {
 
     private static List<Method> filterByView(final MethodInfo mi, final 
List<Method> filtered) {
         final View view = view(mi);
-        switch (view) {
-            case CLASS: {
-                return filterByClass(mi, filtered);
-            }
-        }
+        return switch (view) {
+            case CLASS -> filterByClass(mi, filtered);
+            default -> filtered;
+        };
 
-        return filtered;
     }
 
     private static List<Method> filterByClass(final MethodInfo mi, final 
List<Method> methods) {
@@ -151,20 +149,12 @@ public class MethodInfoUtil {
     private static List<Method> filterByLevel(final MethodInfo mi, final 
Method[] methods) {
         final Level level = level(mi);
 
-        switch (level) {
-            case BEAN:
-            case PACKAGE: {
-                return asList(methods);
-            }
-            case OVERLOADED_METHOD: {
-                return filterByName(methods, mi.methodName);
-            }
-            case EXACT_METHOD: {
-                return filterByNameAndParams(methods, mi);
-            }
-        }
+        return switch (level) {
+            case BEAN, PACKAGE -> asList(methods);
+            case OVERLOADED_METHOD -> filterByName(methods, mi.methodName);
+            case EXACT_METHOD -> filterByNameAndParams(methods, mi);
+        };
 
-        return Collections.EMPTY_LIST;
     }
 
     public static Method getMethod(final Class clazz, final MethodInfo info) {
@@ -245,26 +235,17 @@ public class MethodInfoUtil {
 
     private static Class getClassForParam(final String className, final 
ClassLoader cl) throws ClassNotFoundException {
 
-        switch (className) {
-            case "int":
-                return Integer.TYPE;
-            case "double":
-                return Double.TYPE;
-            case "long":
-                return Long.TYPE;
-            case "boolean":
-                return Boolean.TYPE;
-            case "float":
-                return Float.TYPE;
-            case "char":
-                return Character.TYPE;
-            case "short":
-                return Short.TYPE;
-            case "byte":
-                return Byte.TYPE;
-            default:
-                return Class.forName(className, false, cl);
-        }
+        return switch (className) {
+            case "int" -> Integer.TYPE;
+            case "double" -> Double.TYPE;
+            case "long" -> Long.TYPE;
+            case "boolean" -> Boolean.TYPE;
+            case "float" -> Float.TYPE;
+            case "char" -> Character.TYPE;
+            case "short" -> Short.TYPE;
+            case "byte" -> Byte.TYPE;
+            default -> Class.forName(className, false, cl);
+        };
 
     }
 
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ReloadableEntityManagerFactory.java
 
b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ReloadableEntityManagerFactory.java
index f3701f6a92..8c274c5278 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ReloadableEntityManagerFactory.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/ReloadableEntityManagerFactory.java
@@ -371,24 +371,13 @@ public class ReloadableEntityManagerFactory implements 
EntityManagerFactory, Ser
 
     public synchronized void setProvider(final String providerRaw) {
         final String provider = providerRaw.trim();
-        final String newProvider;
-        switch (provider) {
-            case "hibernate":
-                newProvider = "org.hibernate.ejb.HibernatePersistence";
-                break;
-            case "openjpa":
-                newProvider = 
"org.apache.openjpa.persistence.PersistenceProviderImpl";
-                break;
-            case "eclipselink":
-                newProvider = 
"org.eclipse.persistence.jpa.PersistenceProvider";
-                break;
-            case "toplink":
-                newProvider = "oracle.toplink.essentials.PersistenceProvider";
-                break;
-            default:
-                newProvider = provider;
-                break;
-        }
+        final String newProvider = switch (provider) {
+            case "hibernate" -> "org.hibernate.ejb.HibernatePersistence";
+            case "openjpa" -> 
"org.apache.openjpa.persistence.PersistenceProviderImpl";
+            case "eclipselink" -> 
"org.eclipse.persistence.jpa.PersistenceProvider";
+            case "toplink" -> "oracle.toplink.essentials.PersistenceProvider";
+            default -> provider;
+        };
 
         try {
             classLoader.loadClass(newProvider);
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java 
b/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java
index 6713fb2ceb..335842fdd7 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/cdi/CdiEjbBean.java
@@ -138,18 +138,16 @@ public class CdiEjbBean<T> extends BaseEjbBean<T> 
implements InterceptedMarker,
     }
 
     private static SessionBeanType toSessionType(final BeanType beanType) {
-        switch (beanType) {
-            case SINGLETON:
-                return SessionBeanType.SINGLETON;
-            case MESSAGE_DRIVEN: // OWB implementation test stateful or not so 
do we really care?
-            case STATELESS:
-            case MANAGED: // can't be stateful since it will prevent every 
integration using ManagedBean to get injections to work + it is never used
-                return SessionBeanType.STATELESS;
-            case STATEFUL:
-                return SessionBeanType.STATEFUL;
-            default:
-                throw new IllegalStateException("Unknown Session BeanType " + 
beanType);
-        }
+        return switch (beanType) {
+            case SINGLETON ->
+                    SessionBeanType.SINGLETON;
+            case MESSAGE_DRIVEN, // OWB implementation test stateful or not so 
do we really care?
+                 STATELESS,
+                 MANAGED -> // can't be stateful since it will prevent every 
integration using ManagedBean to get injections to work + it is never used
+                    SessionBeanType.STATELESS;
+            case STATEFUL -> SessionBeanType.STATEFUL;
+            default -> throw new IllegalStateException("Unknown Session 
BeanType " + beanType);
+        };
     }
 
     public String getEjbName() {
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java
 
b/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java
index 4c7abbc816..15b41ba69c 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/config/AppInfoBuilder.java
@@ -546,17 +546,11 @@ class AppInfoBuilder {
                 String transactionSupport = "none";
                 final TransactionSupportType transactionSupportType = 
outbound.getTransactionSupport();
                 if (transactionSupportType != null) {
-                    switch (transactionSupportType) {
-                        case LOCAL_TRANSACTION:
-                            transactionSupport = "local";
-                            break;
-                        case NO_TRANSACTION:
-                            transactionSupport = "none";
-                            break;
-                        case XA_TRANSACTION:
-                            transactionSupport = "xa";
-                            break;
-                    }
+                    transactionSupport = switch (transactionSupportType) {
+                        case LOCAL_TRANSACTION -> "local";
+                        case NO_TRANSACTION -> "none";
+                        case XA_TRANSACTION -> "xa";
+                    };
                 }
                 for (final ConnectionDefinition connection : 
outbound.getConnectionDefinition()) {
 
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
 
b/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
index f4273f70b2..012066baa1 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/config/ConfigurationFactory.java
@@ -1361,16 +1361,12 @@ public class ConfigurationFactory implements 
OpenEjbConfigurationFactory {
     }
 
     private static String unaliasPropertiesProvider(final String 
propertiesProvider) {
-        switch (propertiesProvider.toLowerCase(Locale.ENGLISH)) {
-            case "heroku":
-                return 
"org.apache.openejb.resource.heroku.HerokuDatabasePropertiesProvider";
-            case "openshift:mysql":
-                return 
"org.apache.openejb.resource.openshift.OpenshiftMySQLPropertiesProvider";
-            case "openshift:postgresql":
-                return 
"org.apache.openejb.resource.openshift.OpenshiftPostgreSQLPropertiesProvider";
-            default:
-                return propertiesProvider;
-        }
+        return switch (propertiesProvider.toLowerCase(Locale.ENGLISH)) {
+            case "heroku" -> 
"org.apache.openejb.resource.heroku.HerokuDatabasePropertiesProvider";
+            case "openshift:mysql" -> 
"org.apache.openejb.resource.openshift.OpenshiftMySQLPropertiesProvider";
+            case "openshift:postgresql" -> 
"org.apache.openejb.resource.openshift.OpenshiftPostgreSQLPropertiesProvider";
+            default -> propertiesProvider;
+        };
     }
 
     private static String unaliasTemplate(final String value) {
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/config/JndiEncInfoBuilder.java
 
b/container/openejb-core/src/main/java/org/apache/openejb/config/JndiEncInfoBuilder.java
index 0fff8546cd..7f4b399df4 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/config/JndiEncInfoBuilder.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/config/JndiEncInfoBuilder.java
@@ -557,16 +557,12 @@ public class JndiEncInfoBuilder {
         public EjbResolver.Type getRefType() {
             // Could have used EjbResolver.Type.valueOf(..)
             // but this protects against an renaming
-            switch (ref.getRefType()) {
-                case LOCAL:
-                    return EjbResolver.Type.LOCAL;
-                case REMOTE:
-                    return EjbResolver.Type.REMOTE;
-                case UNKNOWN:
-                    return EjbResolver.Type.UNKNOWN;
-                default:
-                    return EjbResolver.Type.UNKNOWN;
-            }
+            return switch (ref.getRefType()) {
+                case LOCAL -> EjbResolver.Type.LOCAL;
+                case REMOTE -> EjbResolver.Type.REMOTE;
+                case UNKNOWN -> EjbResolver.Type.UNKNOWN;
+                default -> EjbResolver.Type.UNKNOWN;
+            };
         }
     }
 
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/config/SunConversion.java
 
b/container/openejb-core/src/main/java/org/apache/openejb/config/SunConversion.java
index 2b574f7621..d31d921e2f 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/config/SunConversion.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/config/SunConversion.java
@@ -1173,28 +1173,18 @@ public class SunConversion implements DynamicDeployer {
         for (Object bit1 : bits) {
             final TokenType tokenType;
             final String bit = (String) bit1;
-            switch (bit.charAt(0)) {
-                case ' ':
-                case '\t':
-                case '\n':
-                case '\r':
-                case '\f':
+            tokenType = switch (bit.charAt(0)) {
+                case ' ', '\t', '\n', '\r', '\f' -> {
                     inWitespace = true;
-                    tokenType = TokenType.WHITESPACE;
-                    break;
-                case '&':
-                case '|':
-                case '=':
-                case '>':
-                case '<':
-                case '!':
+                    yield TokenType.WHITESPACE;
+                }
+                case '&', '|', '=', '>', '<', '!' -> {
                     // symbols are blindly coalesced so you can end up with 
nonsence like +-=+
                     currentSymbol.append(bit.charAt(0));
-                    tokenType = TokenType.SYMBOL;
-                    break;
-                default:
-                    tokenType = TokenType.NORMAL;
-            }
+                    yield TokenType.SYMBOL;
+                }
+                default -> TokenType.NORMAL;
+            };
             if (tokenType != TokenType.WHITESPACE && inWitespace) {
                 // sequences of white space are simply removed
                 inWitespace = false;
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/config/rules/CheckPersistenceRefs.java
 
b/container/openejb-core/src/main/java/org/apache/openejb/config/rules/CheckPersistenceRefs.java
index 6f2d74e9bb..a95bcf1c1c 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/config/rules/CheckPersistenceRefs.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/config/rules/CheckPersistenceRefs.java
@@ -64,24 +64,19 @@ public class CheckPersistenceRefs extends ValidationBase {
 
     private String getType(final EnterpriseBean bean) {
         if (bean instanceof SessionBean sessionBean) {
-            switch (sessionBean.getSessionType()) {
-                case STATEFUL:
-                    return "Stateful";
-                case STATELESS:
-                    return "Stateless";
-                case SINGLETON:
-                    return "Singleton";
-                case MANAGED:
-                    return "Managed";
-                default:
-                    throw new IllegalArgumentException("Uknown SessionBean 
type " + bean.getClass());
-            }
+            return switch (sessionBean.getSessionType()) {
+                case STATEFUL -> "Stateful";
+                case STATELESS -> "Stateless";
+                case SINGLETON -> "Singleton";
+                case MANAGED -> "Managed";
+                default -> throw new IllegalArgumentException("Unknown 
SessionBean type " + bean.getClass());
+            };
         } else if (bean instanceof MessageDrivenBean) {
             return "MessageDriven";
         } else if (bean instanceof EntityBean) {
             return "EJB 2.1 Entity";
         } else {
-            throw new IllegalArgumentException("Uknown bean type " + 
bean.getClass());
+            throw new IllegalArgumentException("Unknown bean type " + 
bean.getClass());
         }
     }
 }
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/core/interceptor/InterceptorData.java
 
b/container/openejb-core/src/main/java/org/apache/openejb/core/interceptor/InterceptorData.java
index b0802b861f..ad5e5316ef 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/core/interceptor/InterceptorData.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/core/interceptor/InterceptorData.java
@@ -149,33 +149,21 @@ public class InterceptorData {
     }
 
     public Set<Method> getMethods(final Operation operation) {
-        switch (operation) {
-            case BUSINESS:
-                return getAroundInvoke();
-            case BUSINESS_WS:
-                return getAroundInvoke();
-            case REMOVE:
-                return getAroundInvoke();
-            case AROUND_CONSTRUCT:
-                return getAroundConstruct();
-            case POST_CONSTRUCT:
-                return getPostConstruct();
-            case PRE_DESTROY:
-                return getPreDestroy();
-            case ACTIVATE:
-                return getPostActivate();
-            case PASSIVATE:
-                return getPrePassivate();
-            case AFTER_BEGIN:
-                return getAfterBegin();
-            case AFTER_COMPLETION:
-                return getAfterCompletion();
-            case BEFORE_COMPLETION:
-                return getBeforeCompletion();
-            case TIMEOUT:
-                return getAroundTimeout();
-        }
-        return Collections.EMPTY_SET;
+        return switch (operation) {
+            case BUSINESS -> getAroundInvoke();
+            case BUSINESS_WS -> getAroundInvoke();
+            case REMOVE -> getAroundInvoke();
+            case AROUND_CONSTRUCT -> getAroundConstruct();
+            case POST_CONSTRUCT -> getPostConstruct();
+            case PRE_DESTROY -> getPreDestroy();
+            case ACTIVATE -> getPostActivate();
+            case PASSIVATE -> getPrePassivate();
+            case AFTER_BEGIN -> getAfterBegin();
+            case AFTER_COMPLETION -> getAfterCompletion();
+            case BEFORE_COMPLETION -> getBeforeCompletion();
+            case TIMEOUT -> getAroundTimeout();
+            default -> Collections.EMPTY_SET;
+        };
     }
 
     public boolean equals(final Object o) {
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java
 
b/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java
index 5491d9c987..63491fe477 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/BaseEjbProxyHandler.java
@@ -284,16 +284,12 @@ public abstract class BaseEjbProxyHandler implements 
InvocationHandler, Serializ
         if (method.getDeclaringClass() == Object.class) {
             final String methodName = method.getName();
 
-            switch (methodName) {
-                case "toString":
-                    return toString();
-                case "equals":
-                    return equals(args[0]) ? Boolean.TRUE : Boolean.FALSE;
-                case "hashCode":
-                    return hashCode();
-                default:
-                    throw new UnsupportedOperationException("Unknown method: " 
+ method);
-            }
+            return switch (methodName) {
+                case "toString" -> toString();
+                case "equals" -> equals(args[0]) ? Boolean.TRUE : 
Boolean.FALSE;
+                case "hashCode" -> hashCode();
+                default -> throw new UnsupportedOperationException("Unknown 
method: " + method);
+            };
         } else if (method.getDeclaringClass() == IntraVmProxy.class) {
             final String methodName = method.getName();
 
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/EjbHomeProxyHandler.java
 
b/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/EjbHomeProxyHandler.java
index 724bc79a80..7cf5f65a7e 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/EjbHomeProxyHandler.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/EjbHomeProxyHandler.java
@@ -100,21 +100,16 @@ public abstract class EjbHomeProxyHandler extends 
BaseEjbProxyHandler {
                                                            final InterfaceType 
interfaceType,
                                                            final List<Class> 
interfaces,
                                                            final Class 
mainInterface) {
-        switch (beanContext.getComponentType()) {
-            case STATEFUL:
-                return new StatefulEjbHomeHandler(beanContext, interfaceType, 
interfaces, mainInterface);
-            case STATELESS:
-                return new StatelessEjbHomeHandler(beanContext, interfaceType, 
interfaces, mainInterface);
-            case SINGLETON:
-                return new SingletonEjbHomeHandler(beanContext, interfaceType, 
interfaces, mainInterface);
-            case MANAGED:
-                return new ManagedHomeHandler(beanContext, interfaceType, 
interfaces, mainInterface);
-            case CMP_ENTITY:
-            case BMP_ENTITY:
-                return new EntityEjbHomeHandler(beanContext, interfaceType, 
interfaces, mainInterface);
-            default:
-                throw new IllegalStateException("Component type does not 
support rpc interfaces: " + beanContext.getComponentType());
-        }
+        return switch (beanContext.getComponentType()) {
+            case STATEFUL -> new StatefulEjbHomeHandler(beanContext, 
interfaceType, interfaces, mainInterface);
+            case STATELESS -> new StatelessEjbHomeHandler(beanContext, 
interfaceType, interfaces, mainInterface);
+            case SINGLETON -> new SingletonEjbHomeHandler(beanContext, 
interfaceType, interfaces, mainInterface);
+            case MANAGED -> new ManagedHomeHandler(beanContext, interfaceType, 
interfaces, mainInterface);
+            case CMP_ENTITY, BMP_ENTITY ->
+                    new EntityEjbHomeHandler(beanContext, interfaceType, 
interfaces, mainInterface);
+            default ->
+                    throw new IllegalStateException("Component type does not 
support rpc interfaces: " + beanContext.getComponentType());
+        };
     }
 
     public static Object createHomeProxy(final BeanContext beanContext, final 
InterfaceType interfaceType) {
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/EjbObjectProxyHandler.java
 
b/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/EjbObjectProxyHandler.java
index d3155211f1..a210b01902 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/EjbObjectProxyHandler.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/core/ivm/EjbObjectProxyHandler.java
@@ -88,28 +88,15 @@ public abstract class EjbObjectProxyHandler extends 
BaseEjbProxyHandler {
             if (operation == null || !interfaceType.isComponent()) {
                 retValue = businessMethod(interfce, m, a, p);
             } else {
-                switch (operation) {
-                    case 1:
-                        retValue = getHandle(m, a, p);
-                        break;
-                    case 2:
-                        retValue = getPrimaryKey(m, a, p);
-                        break;
-                    case 3:
-                        retValue = isIdentical(m, a, p);
-                        break;
-                    case 4:
-                        retValue = remove(interfce, m, a, p);
-                        break;
-                    case 5:
-                        retValue = getEJBHome(m, a, p);
-                        break;
-                    case 6:
-                        retValue = getEJBLocalHome(m, a, p);
-                        break;
-                    default:
-                        throw new OpenEJBRuntimeException("Inconsistent 
internal state");
-                }
+                retValue = switch (operation) {
+                    case 1 -> getHandle(m, a, p);
+                    case 2 -> getPrimaryKey(m, a, p);
+                    case 3 -> isIdentical(m, a, p);
+                    case 4 -> remove(interfce, m, a, p);
+                    case 5 -> getEJBHome(m, a, p);
+                    case 6 -> getEJBLocalHome(m, a, p);
+                    default -> throw new OpenEJBRuntimeException("Inconsistent 
internal state");
+                };
             }
 
             return retValue;
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/core/managed/ManagedContainer.java
 
b/container/openejb-core/src/main/java/org/apache/openejb/core/managed/ManagedContainer.java
index 75a8a695b9..4e2f904595 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/core/managed/ManagedContainer.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/core/managed/ManagedContainer.java
@@ -339,14 +339,11 @@ public class ManagedContainer implements RpcContainer {
         MethodType methodType = data.getMethodIndex().get(callMethod);
         methodType = methodType != null ? methodType : MethodType.BUSINESS;
 
-        switch (methodType) {
-            case CREATE:
-                return createEJBObject(beanContext, callMethod, args, type);
-            case REMOVE:
-                return removeEJBObject(beanContext, primKey, callInterface, 
callMethod, args, type);
-            default:
-                return businessMethod(beanContext, primKey, callInterface, 
callMethod, args, type);
-        }
+        return switch (methodType) {
+            case CREATE -> createEJBObject(beanContext, callMethod, args, 
type);
+            case REMOVE -> removeEJBObject(beanContext, primKey, 
callInterface, callMethod, args, type);
+            default -> businessMethod(beanContext, primKey, callInterface, 
callMethod, args, type);
+        };
 
     }
 
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/core/singleton/SingletonContainer.java
 
b/container/openejb-core/src/main/java/org/apache/openejb/core/singleton/SingletonContainer.java
index 527b225b95..fbc5d9ab53 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/core/singleton/SingletonContainer.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/core/singleton/SingletonContainer.java
@@ -417,7 +417,7 @@ public class SingletonContainer implements RpcContainer {
             
ThreadContext.getThreadContext().set(jakarta.xml.ws.handler.MessageContext.class,
 (jakarta.xml.ws.handler.MessageContext) messageContext);
             return 
interceptorStack.invoke((jakarta.xml.ws.handler.MessageContext) messageContext, 
params);
         }
-        throw new IllegalArgumentException("Uknown MessageContext type: " + 
messageContext.getClass().getName());
+        throw new IllegalArgumentException("Unknown MessageContext type: " + 
messageContext.getClass().getName());
     }
 
     protected ProxyInfo createEJBObject(final BeanContext beanContext, final 
Method callMethod) {
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java
 
b/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java
index 2644eb52f0..f4744e8d90 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/core/stateful/StatefulContainer.java
@@ -370,14 +370,11 @@ public class StatefulContainer implements RpcContainer {
         MethodType methodType = data.getMethodIndex().get(callMethod);
         methodType = methodType != null ? methodType : MethodType.BUSINESS;
 
-        switch (methodType) {
-            case CREATE:
-                return createEJBObject(beanContext, callMethod, args, type);
-            case REMOVE:
-                return removeEJBObject(beanContext, primKey, callInterface, 
callMethod, args, type);
-            default:
-                return businessMethod(beanContext, primKey, callInterface, 
callMethod, args, type);
-        }
+        return switch (methodType) {
+            case CREATE -> createEJBObject(beanContext, callMethod, args, 
type);
+            case REMOVE -> removeEJBObject(beanContext, primKey, 
callInterface, callMethod, args, type);
+            default -> businessMethod(beanContext, primKey, callInterface, 
callMethod, args, type);
+        };
     }
 
     private boolean isPassivable(final BeanContext beanContext) {
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EJBCronTrigger.java
 
b/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EJBCronTrigger.java
index b351bcdce2..bc942c2f77 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EJBCronTrigger.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/core/timer/EJBCronTrigger.java
@@ -642,14 +642,12 @@ public class EJBCronTrigger extends CronTriggerImpl {
             }
 
             // Try converting a textual value to numeric
-            switch (field) {
-                case Calendar.MONTH:
-                    return MONTHS_MAP.get(value);
-                case Calendar.DAY_OF_WEEK:
-                    return WEEKDAYS_MAP.get(value);
-            }
+            return switch (field) {
+                case Calendar.MONTH -> MONTHS_MAP.get(value);
+                case Calendar.DAY_OF_WEEK -> WEEKDAYS_MAP.get(value);
+                default -> throw new ParseException(field, value, "Unparseable 
value");
+            };
 
-            throw new ParseException(field, value, "Unparseable value");
         }
 
         public final int field;
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/core/transaction/JtaTransactionPolicyFactory.java
 
b/container/openejb-core/src/main/java/org/apache/openejb/core/transaction/JtaTransactionPolicyFactory.java
index c79948aa83..546e8d5434 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/core/transaction/JtaTransactionPolicyFactory.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/core/transaction/JtaTransactionPolicyFactory.java
@@ -33,23 +33,15 @@ public class JtaTransactionPolicyFactory implements 
TransactionPolicyFactory {
     }
 
     public TransactionPolicy createTransactionPolicy(final TransactionType 
type) throws SystemException, ApplicationException {
-        switch (type) {
-            case Required:
-                return new TxRequired(transactionManager);
-            case RequiresNew:
-                return new TxRequiresNew(transactionManager);
-            case Supports:
-                return new TxSupports(transactionManager);
-            case NotSupported:
-                return new TxNotSupported(transactionManager);
-            case Mandatory:
-                return new TxMandatory(transactionManager);
-            case Never:
-                return new TxNever(transactionManager);
-            case BeanManaged:
-                return new TxBeanManaged(transactionManager);
-            default:
-                throw new SystemException(new 
IllegalArgumentException("Unknown transaction type " + type));
-        }
+        return switch (type) {
+            case Required -> new TxRequired(transactionManager);
+            case RequiresNew -> new TxRequiresNew(transactionManager);
+            case Supports -> new TxSupports(transactionManager);
+            case NotSupported -> new TxNotSupported(transactionManager);
+            case Mandatory -> new TxMandatory(transactionManager);
+            case Never -> new TxNever(transactionManager);
+            case BeanManaged -> new TxBeanManaged(transactionManager);
+            default -> throw new SystemException(new 
IllegalArgumentException("Unknown transaction type " + type));
+        };
     }
 }
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/core/transaction/TransactionType.java
 
b/container/openejb-core/src/main/java/org/apache/openejb/core/transaction/TransactionType.java
index 4a61892fee..a350db5523 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/core/transaction/TransactionType.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/core/transaction/TransactionType.java
@@ -29,22 +29,15 @@ public enum TransactionType {
     BeanManaged;
 
     public static TransactionType get(final TransactionAttributeType type) {
-        switch (type) {
-            case REQUIRED:
-                return Required;
-            case REQUIRES_NEW:
-                return RequiresNew;
-            case MANDATORY:
-                return Mandatory;
-            case NEVER:
-                return Never;
-            case NOT_SUPPORTED:
-                return NotSupported;
-            case SUPPORTS:
-                return Supports;
-            default:
-                throw new IllegalArgumentException("Uknown 
TransactionAttributeType." + type);
-        }
+        return switch (type) {
+            case REQUIRED -> Required;
+            case REQUIRES_NEW -> RequiresNew;
+            case MANDATORY -> Mandatory;
+            case NEVER -> Never;
+            case NOT_SUPPORTED -> NotSupported;
+            case SUPPORTS -> Supports;
+            default -> throw new IllegalArgumentException("Unknown 
TransactionAttributeType." + type);
+        };
     }
 
     public static TransactionType get(final String name) {
@@ -54,6 +47,6 @@ public enum TransactionType {
             }
         }
 
-        throw new IllegalArgumentException("Uknown TransactionType " + name);
+        throw new IllegalArgumentException("Unknown TransactionType " + name);
     }
 }
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/log/logger/Log4j2Logger.java
 
b/container/openejb-core/src/main/java/org/apache/openejb/log/logger/Log4j2Logger.java
index 8ec568cba0..90fe3693e2 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/log/logger/Log4j2Logger.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/log/logger/Log4j2Logger.java
@@ -77,35 +77,17 @@ public class Log4j2Logger extends AbstractDelegatingLogger {
 
 
     private Level fromL4J(final org.apache.logging.log4j.Level l) {
-        Level l2 = null;
-        switch (l.getStandardLevel()) {
-            case ALL:
-                l2 = Level.ALL;
-                break;
-            case FATAL:
-                l2 = Level.SEVERE;
-                break;
-            case ERROR:
-                l2 = Level.SEVERE;
-                break;
-            case WARN:
-                l2 = Level.WARNING;
-                break;
-            case INFO:
-                l2 = Level.INFO;
-                break;
-            case DEBUG:
-                l2 = Level.FINE;
-                break;
-            case OFF:
-                l2 = Level.OFF;
-                break;
-            case TRACE:
-                l2 = Level.FINEST;
-                break;
-            default:
-                l2 = Level.FINE;
-        }
+        Level l2 = switch (l.getStandardLevel()) {
+            case ALL -> Level.ALL;
+            case FATAL -> Level.SEVERE;
+            case ERROR -> Level.SEVERE;
+            case WARN -> Level.WARNING;
+            case INFO -> Level.INFO;
+            case DEBUG -> Level.FINE;
+            case OFF -> Level.OFF;
+            case TRACE -> Level.FINEST;
+            default -> Level.FINE;
+        };
         return l2;
     }
 }
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/jms2/TomEEManagedConnectionFactory.java
 
b/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/jms2/TomEEManagedConnectionFactory.java
index 91523db42d..a0fb0d71d1 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/jms2/TomEEManagedConnectionFactory.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/resource/activemq/jms2/TomEEManagedConnectionFactory.java
@@ -77,16 +77,12 @@ public class TomEEManagedConnectionFactory extends 
ActiveMQManagedConnectionFact
     }
 
     public String getTransactionSupport() {
-        switch (transactionSupportLevel) {
-            case XATransaction:
-                return "xa";
-            case LocalTransaction:
-                return "local";
-            case NoTransaction:
-                return "none";
-            default:
-                return null;
-        }
+        return switch (transactionSupportLevel) {
+            case XATransaction -> "xa";
+            case LocalTransaction -> "local";
+            case NoTransaction -> "none";
+            default -> null;
+        };
     }
 
     public void setTransactionSupport(String transactionSupport) {
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/util/ExecutorBuilder.java
 
b/container/openejb-core/src/main/java/org/apache/openejb/util/ExecutorBuilder.java
index 9aa2417de6..43e332cde2 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/util/ExecutorBuilder.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/util/ExecutorBuilder.java
@@ -134,26 +134,16 @@ public class ExecutorBuilder {
         SYNCHRONOUS;
 
         public BlockingQueue<Runnable> create(final Options options, final 
String prefix, final int queueSize) {
-            switch (this) {
-                case ARRAY: {
-                    return new ArrayBlockingQueue<>(queueSize > 0 ? queueSize 
: 1);
-                }
-                case LINKED: {
-                    return new LinkedBlockingQueue<>(queueSize > 0 ? queueSize 
: 1);
-                }
-                case PRIORITY: {
-                    return new PriorityBlockingQueue<>();
-                }
-                case SYNCHRONOUS: {
-                    return new SynchronousQueue<>(options.get(prefix + 
".QueueFair", false));
-                }
-                default: {
-                    // The Options class will throw an error if the user 
supplies an unknown enum string
-                    // The only way we can reach this is if we add a new 
QueueType element and forget to
-                    // implement it in the above switch statement.
-                    throw new IllegalArgumentException("Unknown QueueType 
type: " + this);
-                }
-            }
+            return switch (this) {
+                case ARRAY -> new ArrayBlockingQueue<>(queueSize > 0 ? 
queueSize : 1);
+                case LINKED -> new LinkedBlockingQueue<>(queueSize > 0 ? 
queueSize : 1);
+                case PRIORITY -> new PriorityBlockingQueue<>();
+                case SYNCHRONOUS -> new SynchronousQueue<>(options.get(prefix 
+ ".QueueFair", false));
+                // The Options class will throw an error if the user supplies 
an unknown enum string
+                // The only way we can reach this is if we add a new QueueType 
element and forget to
+                // implement it in the above switch statement.
+                default -> throw new IllegalArgumentException("Unknown 
QueueType type: " + this);
+            };
         }
     }
 }
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java 
b/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java
index a0cdd4f82d..9189db42a2 100644
--- a/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java
+++ b/container/openejb-core/src/main/java/org/apache/openejb/util/Logger.java
@@ -420,19 +420,14 @@ public class Logger {
     @SuppressWarnings("UnusedDeclaration")
     public boolean isLevelEnable(final String level) {
         final String levelLowerCase = level.toLowerCase(Locale.ENGLISH);
-        switch (levelLowerCase) {
-            case "info":
-                return isInfoEnabled();
-            case "debug":
-                return isDebugEnabled();
-            case "warning":
-                return isWarningEnabled();
-            case "fatal":
-                return isFatalEnabled();
-            case "error":
-                return isErrorEnabled();
-        }
-        return false;
+        return switch (levelLowerCase) {
+            case "info" -> isInfoEnabled();
+            case "debug" -> isDebugEnabled();
+            case "warning" -> isWarningEnabled();
+            case "fatal" -> isFatalEnabled();
+            case "error" -> isErrorEnabled();
+            default -> false;
+        };
     }
 
     public void log(final String level, final String message) {
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/util/SuperProperties.java
 
b/container/openejb-core/src/main/java/org/apache/openejb/util/SuperProperties.java
index bc06425485..7d2157906e 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/util/SuperProperties.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/util/SuperProperties.java
@@ -588,26 +588,15 @@ public class SuperProperties extends Properties {
             }
 
             // Decode encoded separator characters
-            switch (nextByte) {
-                case ENCODED_EQUALS:
-                    nextChar = '=';
-                    break;
-                case ENCODED_COLON:
-                    nextChar = ':';
-                    break;
-                case ENCODED_SPACE:
-                    nextChar = ' ';
-                    break;
-                case ENCODED_TAB:
-                    nextChar = '\t';
-                    break;
-                case ENCODED_NEWLINE:
-                    nextChar = '\n';
-                    break;
-                case ENCODED_CARRIAGE_RETURN:
-                    nextChar = '\r';
-                    break;
-            }
+            nextChar = switch (nextByte) {
+                case ENCODED_EQUALS -> '=';
+                case ENCODED_COLON -> ':';
+                case ENCODED_SPACE -> ' ';
+                case ENCODED_TAB -> '\t';
+                case ENCODED_NEWLINE -> '\n';
+                case ENCODED_CARRIAGE_RETURN -> '\r';
+                default -> nextChar;
+            };
 
             inSeparator = false;
             if (value == null) {
@@ -728,22 +717,15 @@ public class SuperProperties extends Properties {
     }
 
     private char decodeEscapeChar(final char nextChar) {
-        switch (nextChar) {
-            case 'b':
-                return '\b';
-            case 'f':
-                return '\f';
-            case 'n':
-                return '\n';
-            case 'r':
-                return '\r';
-            case 't':
-                return '\t';
-            case 'u':
-                throw new IllegalArgumentException("decodeEscapeChar can not 
decode an unicode sequence");
-            default:
-                return nextChar;
-        }
+        return switch (nextChar) {
+            case 'b' -> '\b';
+            case 'f' -> '\f';
+            case 'n' -> '\n';
+            case 'r' -> '\r';
+            case 't' -> '\t';
+            case 'u' -> throw new IllegalArgumentException("decodeEscapeChar 
can not decode an unicode sequence");
+            default -> nextChar;
+        };
     }
 
     private char readUnicode(final InputStream in) throws IOException {
diff --git 
a/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/QueryProxy.java
 
b/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/QueryProxy.java
index abdd5c2a4d..bf266057d4 100644
--- 
a/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/QueryProxy.java
+++ 
b/container/openejb-core/src/main/java/org/apache/openejb/util/proxy/QueryProxy.java
@@ -133,18 +133,11 @@ public class QueryProxy implements InvocationHandler {
         int matched = 0;
         Query query;
         if (String.class.isAssignableFrom(args[0].getClass())) {
-            switch (type) {
-                case NAMED:
-                    query = em.createNamedQuery((String) args[0]);
-                    break;
-
-                case NATIVE:
-                    query = em.createNativeQuery((String) args[0]);
-                    break;
-
-                default:
-                    query = em.createQuery((String) args[0]);
-            }
+            query = switch (type) {
+                case NAMED -> em.createNamedQuery((String) args[0]);
+                case NATIVE -> em.createNativeQuery((String) args[0]);
+                default -> em.createQuery((String) args[0]);
+            };
 
             matched++;
 
diff --git 
a/container/openejb-jee-accessors/src/main/java/org/apache/openejb/sxc/TldTaglibXml.java
 
b/container/openejb-jee-accessors/src/main/java/org/apache/openejb/sxc/TldTaglibXml.java
index bd53b4529b..1f6b39ad95 100644
--- 
a/container/openejb-jee-accessors/src/main/java/org/apache/openejb/sxc/TldTaglibXml.java
+++ 
b/container/openejb-jee-accessors/src/main/java/org/apache/openejb/sxc/TldTaglibXml.java
@@ -62,23 +62,16 @@ public class TldTaglibXml {
         }
 
         protected String fixLocalName(final String localName) {
-            switch (localName) {
-                case "tlibversion":
-                    return "tlib-version";
-                case "jspversion":
-                    return "jsp-version";
-                case "shortname":
-                    return "short-name";
-                case "tagclass":
-                    return "tag-class";
-                case "teiclass":
-                    return "tei-class";
-                case "bodycontent":
-                    return "body-content";
-                case "info":
-                    return "description";
-            }
-            return localName;
+            return switch (localName) {
+                case "tlibversion" -> "tlib-version";
+                case "jspversion" -> "jsp-version";
+                case "shortname" -> "short-name";
+                case "tagclass" -> "tag-class";
+                case "teiclass" -> "tei-class";
+                case "bodycontent" -> "body-content";
+                case "info" -> "description";
+                default -> localName;
+            };
         }
     }
 }
diff --git 
a/container/openejb-loader/src/main/java/org/apache/openejb/observer/ObserverManager.java
 
b/container/openejb-loader/src/main/java/org/apache/openejb/observer/ObserverManager.java
index 94c0c529a9..c683f04d24 100644
--- 
a/container/openejb-loader/src/main/java/org/apache/openejb/observer/ObserverManager.java
+++ 
b/container/openejb-loader/src/main/java/org/apache/openejb/observer/ObserverManager.java
@@ -163,14 +163,11 @@ public class ObserverManager {
             }
         }
 
-        switch (list.getInvocations().size()) {
-            case 0:
-                return IGNORE;
-            case 1:
-                return list.getInvocations().get(0);
-            default:
-                return list;
-        }
+        return switch (list.getInvocations().size()) {
+            case 0 -> IGNORE;
+            case 1 -> list.getInvocations().get(0);
+            default -> list;
+        };
     }
 
     /**
@@ -294,16 +291,12 @@ public class ObserverManager {
         }
 
         private Map<Class, Invocation> map(final Phase event) {
-            switch (event) {
-                case AFTER:
-                    return after;
-                case BEFORE:
-                    return before;
-                case INVOKE:
-                    return methods;
-                default:
-                    throw new IllegalStateException("Unknown Event style " + 
event);
-            }
+            return switch (event) {
+                case AFTER -> after;
+                case BEFORE -> before;
+                case INVOKE -> methods;
+                default -> throw new IllegalStateException("Unknown Event 
style " + event);
+            };
         }
 
         public Invocation get(final Phase event, final Class eventType) {
diff --git 
a/examples/cdi-produces-disposes/src/main/java/org/superbiz/cdi/produces/disposes/LogFactory.java
 
b/examples/cdi-produces-disposes/src/main/java/org/superbiz/cdi/produces/disposes/LogFactory.java
index 02c05249f2..eebda7f3a1 100644
--- 
a/examples/cdi-produces-disposes/src/main/java/org/superbiz/cdi/produces/disposes/LogFactory.java
+++ 
b/examples/cdi-produces-disposes/src/main/java/org/superbiz/cdi/produces/disposes/LogFactory.java
@@ -25,15 +25,11 @@ public class LogFactory {
 
     @Produces
     public LogHandler getLogHandler() {
-        switch (type) {
-            case 1:
-                return new FileHandler("@Produces created FileHandler!");
-            case 2:
-                return new DatabaseHandler("@Produces created 
DatabaseHandler!");
-            case 3:
-            default:
-                return new ConsoleHandler("@Produces created ConsoleHandler!");
-        }
+        return switch (type) {
+            case 1 -> new FileHandler("@Produces created FileHandler!");
+            case 2 -> new DatabaseHandler("@Produces created 
DatabaseHandler!");
+            default -> new ConsoleHandler("@Produces created ConsoleHandler!");
+        };
 
     }
 
diff --git 
a/examples/cdi-produces-field/src/main/java/org/superbiz/cdi/produces/field/LogFactory.java
 
b/examples/cdi-produces-field/src/main/java/org/superbiz/cdi/produces/field/LogFactory.java
index 6c2a8396a2..72eb4c7960 100644
--- 
a/examples/cdi-produces-field/src/main/java/org/superbiz/cdi/produces/field/LogFactory.java
+++ 
b/examples/cdi-produces-field/src/main/java/org/superbiz/cdi/produces/field/LogFactory.java
@@ -30,15 +30,11 @@ public class LogFactory {
     }
 
     public LogHandler getLogHandler() {
-        switch (type) {
-            case 1:
-                return new FileHandler("@Produces created FileHandler!");
-            case 2:
-                return new DatabaseHandler("@Produces created 
DatabaseHandler!");
-            case 3:
-            default:
-                return new ConsoleHandler("@Produces created ConsoleHandler!");
-        }
+        return switch (type) {
+            case 1 -> new FileHandler("@Produces created FileHandler!");
+            case 2 -> new DatabaseHandler("@Produces created 
DatabaseHandler!");
+            default -> new ConsoleHandler("@Produces created ConsoleHandler!");
+        };
 
     }
 }
diff --git 
a/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/object/OperationsPolicy.java
 
b/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/object/OperationsPolicy.java
index 6c71913f67..79aaf71995 100644
--- 
a/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/object/OperationsPolicy.java
+++ 
b/itests/openejb-itests-beans/src/main/java/org/apache/openejb/test/object/OperationsPolicy.java
@@ -75,42 +75,20 @@ public class OperationsPolicy implements 
java.io.Externalizable {
     public String toString() {
         String str = "";
         for (int i = 0; i < allowedOperations.length; i++) {
-            String operation = "(empty)";
-            switch (i) {
-                case Context_getEJBHome:
-                    operation = "Context_getEJBHome";
-                    break;
-                case Context_getCallerPrincipal:
-                    operation = "Context_getCallerPrincipal";
-                    break;
-                case Context_isCallerInRole:
-                    operation = "Context_isCallerInRole";
-                    break;
-                case Context_getRollbackOnly:
-                    operation = "Context_getRollbackOnly";
-                    break;
-                case Context_setRollbackOnly:
-                    operation = "Context_setRollbackOnly";
-                    break;
-                case Context_getUserTransaction:
-                    operation = "Context_getUserTransaction";
-                    break;
-                case Context_getEJBObject:
-                    operation = "Context_getEJBObject";
-                    break;
-                case Context_getPrimaryKey:
-                    operation = "Context_getPrimaryKey";
-                    break;
-                case JNDI_access_to_java_comp_env:
-                    operation = "JNDI_access_to_java_comp_env";
-                    break;
-                case Context_lookup:
-                    operation = "Context_lookup";
-                    break;
-                case Context_getTimerService:
-                    operation = "Context_getTimerService";
-                    break;
-            }
+            String operation = switch (i) {
+                case Context_getEJBHome -> "Context_getEJBHome";
+                case Context_getCallerPrincipal -> 
"Context_getCallerPrincipal";
+                case Context_isCallerInRole -> "Context_isCallerInRole";
+                case Context_getRollbackOnly -> "Context_getRollbackOnly";
+                case Context_setRollbackOnly -> "Context_setRollbackOnly";
+                case Context_getUserTransaction -> 
"Context_getUserTransaction";
+                case Context_getEJBObject -> "Context_getEJBObject";
+                case Context_getPrimaryKey -> "Context_getPrimaryKey";
+                case JNDI_access_to_java_comp_env -> 
"JNDI_access_to_java_comp_env";
+                case Context_lookup -> "Context_lookup";
+                case Context_getTimerService -> "Context_getTimerService";
+                default -> "(empty)";
+            };
             str += allowedOperations[i] ? "TRUE   " : "FALSE  ";
             str += operation + "\n";
 
diff --git 
a/mp-jwt/src/main/java/org/apache/tomee/microprofile/jwt/config/JWTAuthConfigurationProperties.java
 
b/mp-jwt/src/main/java/org/apache/tomee/microprofile/jwt/config/JWTAuthConfigurationProperties.java
index 289b70c3b6..f96aaba1a8 100644
--- 
a/mp-jwt/src/main/java/org/apache/tomee/microprofile/jwt/config/JWTAuthConfigurationProperties.java
+++ 
b/mp-jwt/src/main/java/org/apache/tomee/microprofile/jwt/config/JWTAuthConfigurationProperties.java
@@ -155,15 +155,11 @@ public class JWTAuthConfigurationProperties {
 
             if (contents.isEmpty() && location.isEmpty()) return new Unset();
 
-            final Supplier<Map<String, Key>> supplier;
-
-            switch (this) {
-                case VERIFY: supplier = new PublicKeys(contents, location);
-                    break;
-                case DECRYPT: supplier = new DecryptKeys(contents, location);
-                    break;
-                default: throw new IllegalArgumentException("Unsupported enum 
value: " + this);
-            }
+            final Supplier<Map<String, Key>> supplier = switch (this) {
+                case VERIFY -> new PublicKeys(contents, location);
+                case DECRYPT -> new DecryptKeys(contents, location);
+                default -> throw new IllegalArgumentException("Unsupported 
enum value: " + this);
+            };
 
             if (options.cached()) {
                 return CachedSupplier.builder(supplier)
diff --git 
a/server/openejb-client/src/main/java/org/apache/openejb/client/EJBHomeHandler.java
 
b/server/openejb-client/src/main/java/org/apache/openejb/client/EJBHomeHandler.java
index b7cbefa90c..0bc51d56d7 100644
--- 
a/server/openejb-client/src/main/java/org/apache/openejb/client/EJBHomeHandler.java
+++ 
b/server/openejb-client/src/main/java/org/apache/openejb/client/EJBHomeHandler.java
@@ -55,26 +55,14 @@ public abstract class EJBHomeHandler extends 
EJBInvocationHandler implements Ext
                                                       final ServerMetaData 
server,
                                                       final ClientMetaData 
client,
                                                       final 
JNDIContext.AuthenticationInfo auth) {
-        switch (ejb.type) {
-            case EJBMetaDataImpl.BMP_ENTITY:
-            case EJBMetaDataImpl.CMP_ENTITY:
-
-                return new EntityEJBHomeHandler(executor, ejb, server, client, 
auth);
-
-            case EJBMetaDataImpl.STATEFUL:
-
-                return new StatefulEJBHomeHandler(executor, ejb, server, 
client, auth);
-
-            case EJBMetaDataImpl.STATELESS:
-
-                return new StatelessEJBHomeHandler(executor, ejb, server, 
client, auth);
-
-            case EJBMetaDataImpl.SINGLETON:
-
-                return new SingletonEJBHomeHandler(executor, ejb, server, 
client, auth);
-        }
-
-        throw new IllegalStateException("Uknown bean type code '" + ejb.type + 
"' : " + ejb.toString());
+        return switch (ejb.type) {
+            case EJBMetaDataImpl.BMP_ENTITY, EJBMetaDataImpl.CMP_ENTITY ->
+                    new EntityEJBHomeHandler(executor, ejb, server, client, 
auth);
+            case EJBMetaDataImpl.STATEFUL -> new 
StatefulEJBHomeHandler(executor, ejb, server, client, auth);
+            case EJBMetaDataImpl.STATELESS -> new 
StatelessEJBHomeHandler(executor, ejb, server, client, auth);
+            case EJBMetaDataImpl.SINGLETON -> new 
SingletonEJBHomeHandler(executor, ejb, server, client, auth);
+            default -> throw new IllegalStateException("Unknown bean type code 
'" + ejb.type + "' : " + ejb.toString());
+        };
 
     }
 
@@ -193,19 +181,14 @@ public abstract class EJBHomeHandler extends 
EJBInvocationHandler implements Ext
 
         final EJBResponse res = request(req);
 
-        switch (res.getResponseCode()) {
-            case ResponseCodes.EJB_ERROR:
-                throw new SystemError((ThrowableArtifact) res.getResult());
-            case ResponseCodes.EJB_SYS_EXCEPTION:
-                throw new SystemException((ThrowableArtifact) res.getResult());
-            case ResponseCodes.EJB_APP_EXCEPTION:
-                throw new ApplicationException((ThrowableArtifact) 
res.getResult());
-            case ResponseCodes.EJB_OK:
-
-                return res.getResult();
-            default:
-                throw new RemoteException("Received invalid response code from 
server: " + res.getResponseCode());
-        }
+        return switch (res.getResponseCode()) {
+            case ResponseCodes.EJB_ERROR -> throw new 
SystemError((ThrowableArtifact) res.getResult());
+            case ResponseCodes.EJB_SYS_EXCEPTION -> throw new 
SystemException((ThrowableArtifact) res.getResult());
+            case ResponseCodes.EJB_APP_EXCEPTION -> throw new 
ApplicationException((ThrowableArtifact) res.getResult());
+            case ResponseCodes.EJB_OK -> res.getResult();
+            default ->
+                    throw new RemoteException("Received invalid response code 
from server: " + res.getResponseCode());
+        };
     }
 
     /*-------------------------------------------------*/
diff --git 
a/server/openejb-client/src/main/java/org/apache/openejb/client/EJBObjectHandler.java
 
b/server/openejb-client/src/main/java/org/apache/openejb/client/EJBObjectHandler.java
index d308c87146..3dcfc61571 100644
--- 
a/server/openejb-client/src/main/java/org/apache/openejb/client/EJBObjectHandler.java
+++ 
b/server/openejb-client/src/main/java/org/apache/openejb/client/EJBObjectHandler.java
@@ -93,26 +93,18 @@ public abstract class EJBObjectHandler extends 
EJBInvocationHandler {
                                                           final Object 
primaryKey,
                                                           final 
JNDIContext.AuthenticationInfo auth) {
 
-        switch (ejb.type) {
-            case EJBMetaDataImpl.BMP_ENTITY:
-            case EJBMetaDataImpl.CMP_ENTITY:
+        return switch (ejb.type) {
+            case EJBMetaDataImpl.BMP_ENTITY, EJBMetaDataImpl.CMP_ENTITY ->
+                    new EntityEJBObjectHandler(executorService, ejb, server, 
client, primaryKey, auth);
+            case EJBMetaDataImpl.STATEFUL ->
+                    new StatefulEJBObjectHandler(executorService, ejb, server, 
client, primaryKey, auth);
+            case EJBMetaDataImpl.STATELESS ->
+                    new StatelessEJBObjectHandler(executorService, ejb, 
server, client, primaryKey, auth);
+            case EJBMetaDataImpl.SINGLETON ->
+                    new SingletonEJBObjectHandler(executorService, ejb, 
server, client, primaryKey, auth);
+            default -> throw new IllegalStateException("Unknown bean type code 
'" + ejb.type + "' : " + ejb.toString());
+        };
 
-                return new EntityEJBObjectHandler(executorService, ejb, 
server, client, primaryKey, auth);
-
-            case EJBMetaDataImpl.STATEFUL:
-
-                return new StatefulEJBObjectHandler(executorService, ejb, 
server, client, primaryKey, auth);
-
-            case EJBMetaDataImpl.STATELESS:
-
-                return new StatelessEJBObjectHandler(executorService, ejb, 
server, client, primaryKey, auth);
-
-            case EJBMetaDataImpl.SINGLETON:
-
-                return new SingletonEJBObjectHandler(executorService, ejb, 
server, client, primaryKey, auth);
-        }
-
-        throw new IllegalStateException("Uknown bean type code '" + ejb.type + 
"' : " + ejb.toString());
     }
 
     public abstract Object getRegistryId();
diff --git 
a/server/openejb-client/src/main/java/org/apache/openejb/client/EJBResponse.java
 
b/server/openejb-client/src/main/java/org/apache/openejb/client/EJBResponse.java
index d8ac85fdfb..d82e589c26 100644
--- 
a/server/openejb-client/src/main/java/org/apache/openejb/client/EJBResponse.java
+++ 
b/server/openejb-client/src/main/java/org/apache/openejb/client/EJBResponse.java
@@ -80,42 +80,19 @@ public class EJBResponse implements ClusterableResponse {
 
     public String toString() {
 
-        final StringBuffer s;
-
-        switch (responseCode) {
-            case ResponseCodes.EJB_APP_EXCEPTION:
-                s = new StringBuffer("EJB_APP_EXCEPTION");
-                break;
-            case ResponseCodes.EJB_ERROR:
-                s = new StringBuffer("EJB_ERROR");
-                break;
-            case ResponseCodes.EJB_OK:
-                s = new StringBuffer("EJB_OK");
-                break;
-            case ResponseCodes.EJB_OK_CREATE:
-                s = new StringBuffer("EJB_OK_CREATE");
-                break;
-            case ResponseCodes.EJB_OK_FOUND:
-                s = new StringBuffer("EJB_OK_FOUND");
-                break;
-            case ResponseCodes.EJB_OK_FOUND_COLLECTION:
-                s = new StringBuffer("EJB_OK_FOUND_COLLECTION");
-                break;
-            case ResponseCodes.EJB_OK_FOUND_ENUMERATION:
-                s = new StringBuffer("EJB_OK_FOUND_ENUMERATION");
-                break;
-            case ResponseCodes.EJB_OK_NOT_FOUND:
-                s = new StringBuffer("EJB_OK_NOT_FOUND");
-                break;
-            case ResponseCodes.EJB_SYS_EXCEPTION:
-                s = new StringBuffer("EJB_SYS_EXCEPTION");
-                break;
-            case ResponseCodes.AUTH_DENIED:
-                s = new StringBuffer("AUTH_DENIED");
-                break;
-            default:
-                s = new StringBuffer("UNKNOWN_RESPONSE");
-        }
+        final StringBuffer s = switch (responseCode) {
+            case ResponseCodes.EJB_APP_EXCEPTION -> new 
StringBuffer("EJB_APP_EXCEPTION");
+            case ResponseCodes.EJB_ERROR -> new StringBuffer("EJB_ERROR");
+            case ResponseCodes.EJB_OK -> new StringBuffer("EJB_OK");
+            case ResponseCodes.EJB_OK_CREATE -> new 
StringBuffer("EJB_OK_CREATE");
+            case ResponseCodes.EJB_OK_FOUND -> new 
StringBuffer("EJB_OK_FOUND");
+            case ResponseCodes.EJB_OK_FOUND_COLLECTION -> new 
StringBuffer("EJB_OK_FOUND_COLLECTION");
+            case ResponseCodes.EJB_OK_FOUND_ENUMERATION -> new 
StringBuffer("EJB_OK_FOUND_ENUMERATION");
+            case ResponseCodes.EJB_OK_NOT_FOUND -> new 
StringBuffer("EJB_OK_NOT_FOUND");
+            case ResponseCodes.EJB_SYS_EXCEPTION -> new 
StringBuffer("EJB_SYS_EXCEPTION");
+            case ResponseCodes.AUTH_DENIED -> new StringBuffer("AUTH_DENIED");
+            default -> new StringBuffer("UNKNOWN_RESPONSE");
+        };
 
         s.append(", 
serverTime=").append(times[Time.TOTAL.ordinal()]).append("ns");
         s.append(", 
containerTime").append(times[Time.CONTAINER.ordinal()]).append("ns");
diff --git 
a/server/openejb-client/src/main/java/org/apache/openejb/client/EntityEJBHomeHandler.java
 
b/server/openejb-client/src/main/java/org/apache/openejb/client/EntityEJBHomeHandler.java
index de70e6cb0c..86d962f4e5 100644
--- 
a/server/openejb-client/src/main/java/org/apache/openejb/client/EntityEJBHomeHandler.java
+++ 
b/server/openejb-client/src/main/java/org/apache/openejb/client/EntityEJBHomeHandler.java
@@ -106,19 +106,17 @@ public class EntityEJBHomeHandler extends EJBHomeHandler {
 
         final EJBResponse res = request(req);
 
-        switch (res.getResponseCode()) {
-            case ResponseCodes.EJB_ERROR:
-                throw new SystemError((ThrowableArtifact) res.getResult());
-            case ResponseCodes.EJB_SYS_EXCEPTION:
-                throw new SystemException((ThrowableArtifact) res.getResult());
-            case ResponseCodes.EJB_APP_EXCEPTION:
-                throw new ApplicationException((ThrowableArtifact) 
res.getResult());
-            case ResponseCodes.EJB_OK:
+        return switch (res.getResponseCode()) {
+            case ResponseCodes.EJB_ERROR -> throw new 
SystemError((ThrowableArtifact) res.getResult());
+            case ResponseCodes.EJB_SYS_EXCEPTION -> throw new 
SystemException((ThrowableArtifact) res.getResult());
+            case ResponseCodes.EJB_APP_EXCEPTION -> throw new 
ApplicationException((ThrowableArtifact) res.getResult());
+            case ResponseCodes.EJB_OK -> {
                 invalidateAllHandlers(ejb.deploymentID + ":" + primKey);
-                return null;
-            default:
-                throw new RemoteException("Received invalid response code from 
server: " + res.getResponseCode());
-        }
+                yield null;
+            }
+            default ->
+                    throw new RemoteException("Received invalid response code 
from server: " + res.getResponseCode());
+        };
     }
 
     @Override
@@ -143,18 +141,16 @@ public class EntityEJBHomeHandler extends EJBHomeHandler {
 
         final EJBResponse res = request(req);
 
-        switch (res.getResponseCode()) {
-            case ResponseCodes.EJB_ERROR:
-                throw new SystemError((ThrowableArtifact) res.getResult());
-            case ResponseCodes.EJB_SYS_EXCEPTION:
-                throw new SystemException((ThrowableArtifact) res.getResult());
-            case ResponseCodes.EJB_APP_EXCEPTION:
-                throw new ApplicationException((ThrowableArtifact) 
res.getResult());
-            case ResponseCodes.EJB_OK:
+        return switch (res.getResponseCode()) {
+            case ResponseCodes.EJB_ERROR -> throw new 
SystemError((ThrowableArtifact) res.getResult());
+            case ResponseCodes.EJB_SYS_EXCEPTION -> throw new 
SystemException((ThrowableArtifact) res.getResult());
+            case ResponseCodes.EJB_APP_EXCEPTION -> throw new 
ApplicationException((ThrowableArtifact) res.getResult());
+            case ResponseCodes.EJB_OK -> {
                 invalidateAllHandlers(ejb.deploymentID + ":" + primKey);
-                return null;
-            default:
-                throw new RemoteException("Received invalid response code from 
server: " + res.getResponseCode());
-        }
+                yield null;
+            }
+            default ->
+                    throw new RemoteException("Received invalid response code 
from server: " + res.getResponseCode());
+        };
     }
 }
diff --git 
a/server/openejb-client/src/main/java/org/apache/openejb/client/EntityEJBObjectHandler.java
 
b/server/openejb-client/src/main/java/org/apache/openejb/client/EntityEJBObjectHandler.java
index 8461eb022d..a427afcf51 100644
--- 
a/server/openejb-client/src/main/java/org/apache/openejb/client/EntityEJBObjectHandler.java
+++ 
b/server/openejb-client/src/main/java/org/apache/openejb/client/EntityEJBObjectHandler.java
@@ -75,19 +75,17 @@ public class EntityEJBObjectHandler extends 
EJBObjectHandler {
 
         final EJBResponse res = request(req);
 
-        switch (res.getResponseCode()) {
-            case ResponseCodes.EJB_ERROR:
-                throw new SystemError((ThrowableArtifact) res.getResult());
-            case ResponseCodes.EJB_SYS_EXCEPTION:
-                throw new SystemException((ThrowableArtifact) res.getResult());
-            case ResponseCodes.EJB_APP_EXCEPTION:
-                throw new ApplicationException((ThrowableArtifact) 
res.getResult());
-            case ResponseCodes.EJB_OK:
+        return switch (res.getResponseCode()) {
+            case ResponseCodes.EJB_ERROR -> throw new 
SystemError((ThrowableArtifact) res.getResult());
+            case ResponseCodes.EJB_SYS_EXCEPTION -> throw new 
SystemException((ThrowableArtifact) res.getResult());
+            case ResponseCodes.EJB_APP_EXCEPTION -> throw new 
ApplicationException((ThrowableArtifact) res.getResult());
+            case ResponseCodes.EJB_OK -> {
                 invalidateAllHandlers(getRegistryId());
-                return null;
-            default:
-                throw new RemoteException("Received invalid response code from 
server: " + res.getResponseCode());
-        }
+                yield null;
+            }
+            default ->
+                    throw new RemoteException("Received invalid response code 
from server: " + res.getResponseCode());
+        };
     }
 
     @Override
diff --git 
a/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/ClientObjectFactory.java
 
b/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/ClientObjectFactory.java
index edf2d03c0d..02edea5e21 100644
--- 
a/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/ClientObjectFactory.java
+++ 
b/server/openejb-ejbd/src/main/java/org/apache/openejb/server/ejbd/ClientObjectFactory.java
@@ -163,25 +163,17 @@ class ClientObjectFactory implements 
org.apache.openejb.spi.ApplicationServer {
     }
 
     public static InterfaceType convert(final org.apache.openejb.InterfaceType 
type) {
-        switch (type) {
-            case EJB_HOME:
-                return InterfaceType.EJB_HOME;
-            case EJB_OBJECT:
-                return InterfaceType.EJB_OBJECT;
-            case EJB_LOCAL_HOME:
-                return InterfaceType.EJB_LOCAL_HOME;
-            case EJB_LOCAL:
-                return InterfaceType.EJB_LOCAL;
-            case BUSINESS_LOCAL:
-                return InterfaceType.BUSINESS_LOCAL;
-            case BUSINESS_LOCAL_HOME:
-                return InterfaceType.BUSINESS_LOCAL_HOME;
-            case BUSINESS_REMOTE:
-                return InterfaceType.BUSINESS_REMOTE;
-            case BUSINESS_REMOTE_HOME:
-                return InterfaceType.BUSINESS_REMOTE_HOME;
-        }
-        return null;
+        return switch (type) {
+            case EJB_HOME -> InterfaceType.EJB_HOME;
+            case EJB_OBJECT -> InterfaceType.EJB_OBJECT;
+            case EJB_LOCAL_HOME -> InterfaceType.EJB_LOCAL_HOME;
+            case EJB_LOCAL -> InterfaceType.EJB_LOCAL;
+            case BUSINESS_LOCAL -> InterfaceType.BUSINESS_LOCAL;
+            case BUSINESS_LOCAL_HOME -> InterfaceType.BUSINESS_LOCAL_HOME;
+            case BUSINESS_REMOTE -> InterfaceType.BUSINESS_REMOTE;
+            case BUSINESS_REMOTE_HOME -> InterfaceType.BUSINESS_REMOTE_HOME;
+            default -> null;
+        };
     }
 
     @Override
diff --git 
a/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/WsService.java
 
b/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/WsService.java
index 4c9ee548bc..47d9c7704e 100644
--- 
a/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/WsService.java
+++ 
b/server/openejb-webservices/src/main/java/org/apache/openejb/server/webservices/WsService.java
@@ -579,22 +579,15 @@ public abstract class WsService implements ServerService, 
SelfManaging {
     }
 
     public static String getEjbType(final int type) {
-        switch (type) {
-            case EnterpriseBeanInfo.STATEFUL:
-                return "StatefulBean";
-            case EnterpriseBeanInfo.STATELESS:
-                return "StatelessBean";
-            case EnterpriseBeanInfo.SINGLETON:
-                return "SingletonBean";
-            case EnterpriseBeanInfo.MANAGED:
-                return "ManagedBean";
-            case EnterpriseBeanInfo.MESSAGE:
-                return "MessageDrivenBean";
-            case EnterpriseBeanInfo.ENTITY:
-                return "EntityBean";
-            default:
-                return "UnknownBean";
-        }
+        return switch (type) {
+            case EnterpriseBeanInfo.STATEFUL -> "StatefulBean";
+            case EnterpriseBeanInfo.STATELESS -> "StatelessBean";
+            case EnterpriseBeanInfo.SINGLETON -> "SingletonBean";
+            case EnterpriseBeanInfo.MANAGED -> "ManagedBean";
+            case EnterpriseBeanInfo.MESSAGE -> "MessageDrivenBean";
+            case EnterpriseBeanInfo.ENTITY -> "EntityBean";
+            default -> "UnknownBean";
+        };
     }
 
     @Override
diff --git 
a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatSecurityService.java
 
b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatSecurityService.java
index 617251d7a6..f66d5a16ab 100644
--- 
a/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatSecurityService.java
+++ 
b/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomcatSecurityService.java
@@ -386,15 +386,13 @@ public class TomcatSecurityService extends 
AbstractSecurityService {
 
     @Override
     public Object getContext(final String key, final Object data) throws 
PolicyContextException {
-        switch (key) {
-            case KEY_REQUEST:
-                return OpenEJBSecurityListener.requests.get();
-            case KEY_SUBJECT:
+        return switch (key) {
+            case KEY_REQUEST -> OpenEJBSecurityListener.requests.get();
+            case KEY_SUBJECT ->
                 // quite obvious as internally we keep track of it
                 // but we could also grab the request and the principals and 
build a new Subject with the principals
-                return getSubject();
-            default:
-                throw new PolicyContextException("Handler does not support 
key: " + key);
-        }
+                    getSubject();
+            default -> throw new PolicyContextException("Handler does not 
support key: " + key);
+        };
     }
 }
diff --git 
a/tomee/tomee-juli/src/main/java/org/apache/tomee/jul/handler/rotating/LocalFileHandler.java
 
b/tomee/tomee-juli/src/main/java/org/apache/tomee/jul/handler/rotating/LocalFileHandler.java
index aefb09ed6d..8054b8b156 100644
--- 
a/tomee/tomee-juli/src/main/java/org/apache/tomee/jul/handler/rotating/LocalFileHandler.java
+++ 
b/tomee/tomee-juli/src/main/java/org/apache/tomee/jul/handler/rotating/LocalFileHandler.java
@@ -235,16 +235,12 @@ public class LocalFileHandler extends Handler {
 
         final String[] split = str.split("_", -1);
         final int occurrences = split.length -1;
-        switch (occurrences) {
-            case 0:
-                return new Locale(str.toUpperCase(Locale.ENGLISH));
-            case 1:
-                return new Locale(split[0], split[1]);
-            case 2:
-                return new Locale(split[0], split[1], split[2]);
-            default:
-                throw new IllegalArgumentException("Invalid locale format: " + 
str);
-        }
+        return switch (occurrences) {
+            case 0 -> new Locale(str.toUpperCase(Locale.ENGLISH));
+            case 1 -> new Locale(split[0], split[1]);
+            case 2 -> new Locale(split[0], split[1], split[2]);
+            default -> throw new IllegalArgumentException("Invalid locale 
format: " + str);
+        };
     }
 
     protected String currentDate() {
diff --git 
a/tomee/tomee-security/src/main/java/org/apache/tomee/security/provider/TomEESecurityServerAuthModule.java
 
b/tomee/tomee-security/src/main/java/org/apache/tomee/security/provider/TomEESecurityServerAuthModule.java
index 54624beef4..502d385c81 100644
--- 
a/tomee/tomee-security/src/main/java/org/apache/tomee/security/provider/TomEESecurityServerAuthModule.java
+++ 
b/tomee/tomee-security/src/main/java/org/apache/tomee/security/provider/TomEESecurityServerAuthModule.java
@@ -118,16 +118,11 @@ public class TomEESecurityServerAuthModule implements 
ServerAuthModule {
     }
 
     private AuthStatus mapToAuthStatus(final AuthenticationStatus 
authenticationStatus) {
-        switch (authenticationStatus) {
-            case SUCCESS:
-            case NOT_DONE:
-                return AuthStatus.SUCCESS;
-            case SEND_FAILURE:
-                return AuthStatus.SEND_FAILURE;
-            case SEND_CONTINUE:
-                return AuthStatus.SEND_CONTINUE;
-            default:
-                throw new IllegalArgumentException();
-        }
+        return switch (authenticationStatus) {
+            case SUCCESS, NOT_DONE -> AuthStatus.SUCCESS;
+            case SEND_FAILURE -> AuthStatus.SEND_FAILURE;
+            case SEND_CONTINUE -> AuthStatus.SEND_CONTINUE;
+            default -> throw new IllegalArgumentException();
+        };
     }
 }


Reply via email to