This is an automated email from the ASF dual-hosted git repository. gnodet pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
commit f7f39f0be56468844f1a7557456864f2468fea9b Author: Guillaume Nodet <gno...@gmail.com> AuthorDate: Tue May 14 14:44:05 2024 +0200 Fix possible NPE in cloud configuration --- .../cloud/ServiceCallExpressionConfiguration.java | 21 +++++++++------------ ...ServiceCallServiceLoadBalancerConfiguration.java | 18 ++++++++---------- 2 files changed, 17 insertions(+), 22 deletions(-) diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/ServiceCallExpressionConfiguration.java b/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/ServiceCallExpressionConfiguration.java index 188940f5a5b..873e3b45082 100644 --- a/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/ServiceCallExpressionConfiguration.java +++ b/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/ServiceCallExpressionConfiguration.java @@ -170,8 +170,7 @@ public class ServiceCallExpressionConfiguration extends ServiceCallConfiguration = CamelContextHelper.lookup(camelContext, factoryKey, ServiceExpressionFactory.class); if (factory != null) { // If a factory is found in the registry do not re-configure it - // as - // it should be pre-configured. + // as it should be pre-configured. answer = factory.newInstance(camelContext); } else { @@ -179,20 +178,18 @@ public class ServiceCallExpressionConfiguration extends ServiceCallConfiguration try { // Then use Service factory. type = camelContext.getCamelContextExtension() - .getFactoryFinder(ServiceCallDefinitionConstants.RESOURCE_PATH).findClass(factoryKey).orElse(null); + .getFactoryFinder(ServiceCallDefinitionConstants.RESOURCE_PATH).findClass(factoryKey).orElseThrow(); } catch (Exception e) { throw new NoFactoryAvailableException(ServiceCallDefinitionConstants.RESOURCE_PATH + factoryKey, e); } - if (type != null) { - if (ServiceExpressionFactory.class.isAssignableFrom(type)) { - factory = (ServiceExpressionFactory) camelContext.getInjector().newInstance(type, false); - } else { - throw new IllegalArgumentException( - "Resolving Expression: " + factoryKey - + " detected type conflict: Not a ExpressionFactory implementation. Found: " - + type.getName()); - } + if (ServiceExpressionFactory.class.isAssignableFrom(type)) { + factory = (ServiceExpressionFactory) camelContext.getInjector().newInstance(type, false); + } else { + throw new IllegalArgumentException( + "Resolving Expression: " + factoryKey + + " detected type conflict: Not a ExpressionFactory implementation. Found: " + + type.getName()); } try { diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/ServiceCallServiceLoadBalancerConfiguration.java b/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/ServiceCallServiceLoadBalancerConfiguration.java index fc310f0da00..ac703982093 100644 --- a/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/ServiceCallServiceLoadBalancerConfiguration.java +++ b/core/camel-core-model/src/main/java/org/apache/camel/model/cloud/ServiceCallServiceLoadBalancerConfiguration.java @@ -100,20 +100,18 @@ public class ServiceCallServiceLoadBalancerConfiguration extends ServiceCallConf try { // Then use Service factory. type = camelContext.getCamelContextExtension() - .getFactoryFinder(ServiceCallDefinitionConstants.RESOURCE_PATH).findClass(factoryKey).orElse(null); + .getFactoryFinder(ServiceCallDefinitionConstants.RESOURCE_PATH).findClass(factoryKey).orElseThrow(); } catch (Exception e) { throw new NoFactoryAvailableException(ServiceCallDefinitionConstants.RESOURCE_PATH + factoryKey, e); } - if (type != null) { - if (ServiceLoadBalancerFactory.class.isAssignableFrom(type)) { - factory = (ServiceLoadBalancerFactory) camelContext.getInjector().newInstance(type, false); - } else { - throw new IllegalArgumentException( - "Resolving LoadBalancer: " + factoryKey - + " detected type conflict: Not a LoadBalancerFactory implementation. Found: " - + type.getName()); - } + if (ServiceLoadBalancerFactory.class.isAssignableFrom(type)) { + factory = (ServiceLoadBalancerFactory) camelContext.getInjector().newInstance(type, false); + } else { + throw new IllegalArgumentException( + "Resolving LoadBalancer: " + factoryKey + + " detected type conflict: Not a LoadBalancerFactory implementation. Found: " + + type.getName()); } try {