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(); + }; } }
