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 740c3b1a0235356346e8ee9ca38d0596513ca425 Author: Guillaume Nodet <gno...@gmail.com> AuthorDate: Mon May 6 11:26:34 2024 +0200 Cleanup --- .../camel/component/master/MasterConsumer.java | 2 +- .../component/smpp/SmppConnectionFactory.java | 2 +- .../camel/impl/engine/AbstractCamelContext.java | 2 +- .../camel/impl/engine/CamelInternalProcessor.java | 12 +--- .../engine/DefaultAsyncProcessorAwaitManager.java | 4 +- .../impl/engine/DefaultCamelContextExtension.java | 3 - .../impl/engine/InternalRouteStartupManager.java | 11 ++-- .../camel/impl/engine/IntrospectionSupport.java | 19 +++--- .../AbstractLocationPropertiesSource.java | 9 +-- .../impl/cloud/ServiceCallProcessorFactory.java | 5 +- .../camel/impl/cluster/ClusteredRoutePolicy.java | 2 +- .../camel/impl/console/ConsumerDevConsole.java | 6 +- .../camel/catalog/impl/AbstractCamelCatalog.java | 11 ++-- .../apache/camel/catalog/impl/CatalogHelper.java | 5 +- .../org/apache/camel/impl/DefaultCamelContext.java | 9 ++- .../java/org/apache/camel/builder/AdviceWith.java | 9 +-- .../org/apache/camel/builder/AdviceWithTasks.java | 2 +- .../org/apache/camel/builder/ExpressionClause.java | 2 +- .../camel/builder/FlexibleAggregationStrategy.java | 4 +- .../camel/model/ProcessorDefinitionHelper.java | 2 +- .../processor/ClaimCheckAggregationStrategy.java | 4 +- .../java/org/apache/camel/processor/Splitter.java | 19 +----- .../errorhandler/DefaultErrorHandler.java | 10 ---- .../errorhandler/RedeliveryErrorHandler.java | 58 ++++-------------- .../processor/resequencer/ResequencerEngine.java | 9 +-- .../org/apache/camel/reifier/CatchReifier.java | 12 +--- .../reifier/errorhandler/ErrorHandlerReifier.java | 6 +- .../rest/RestComponentVerifierExtensionTest.java | 2 +- .../component/rest/RestComponentVerifierTest.java | 2 +- .../management/JmxManagementLifecycleStrategy.java | 4 +- .../mbean/ManagedStreamCachingStrategy.java | 34 +++++------ .../management/mbean/RouteCoverageXmlParser.java | 70 +++++++++++----------- .../ManagedStreamCachingStrategyTest.java | 8 +++ .../camel/converter/stream/CachedOutputStream.java | 6 +- .../org/apache/camel/support/AbstractExchange.java | 1 + .../camel/support/DefaultHeaderFilterStrategy.java | 2 +- .../DefaultScheduledPollConsumerScheduler.java | 2 +- .../org/apache/camel/support/EndpointHelper.java | 2 +- .../apache/camel/support/GroupTokenIterator.java | 2 +- .../org/apache/camel/support/MessageHelper.java | 4 +- .../org/apache/camel/support/ObjectHelper.java | 18 +++--- .../camel/support/PropertyBindingSupport.java | 52 ++++++++-------- .../builder/TokenPairExpressionIterator.java | 5 +- .../apache/camel/support/cache/ServicePool.java | 21 ++----- .../camel/support/cache/SimpleSoftCache.java | 2 + .../camel/support/component/ApiMethodParser.java | 2 +- .../org/apache/camel/support/jndi/JndiContext.java | 6 +- .../support/management/MBeanInfoAssembler.java | 16 +++-- .../camel/support/processor/CamelLogProcessor.java | 1 - .../camel/support/processor/RestBindingAdvice.java | 15 ++--- .../apache/camel/support/resume/AdapterHelper.java | 2 +- .../java/org/apache/camel/util/CamelURIParser.java | 4 -- .../main/java/org/apache/camel/util/FileUtil.java | 7 +-- .../main/java/org/apache/camel/util/HostUtils.java | 10 ++-- .../main/java/org/apache/camel/util/IOHelper.java | 2 +- .../java/org/apache/camel/util/ObjectHelper.java | 2 +- .../camel/util/OrderedLocationProperties.java | 2 +- .../java/org/apache/camel/util/StringHelper.java | 2 +- .../org/apache/camel/util/StringQuoteHelper.java | 5 +- .../java/org/apache/camel/util/URISupport.java | 2 +- .../concurrent/SynchronousExecutorService.java | 2 +- .../apache/camel/xml/io/util/XmlStreamReader.java | 2 +- .../java/org/apache/camel/xml/in/BaseParser.java | 10 ++-- .../java/org/apache/camel/xml/io/MXParser.java | 56 +++++++---------- .../java/org/apache/camel/xml/jaxb/JaxbHelper.java | 12 ++-- .../converter/jaxp/XMLStreamReaderInputStream.java | 2 +- .../processor/validation/ValidatingProcessor.java | 7 +-- 67 files changed, 256 insertions(+), 389 deletions(-) diff --git a/components/camel-master/src/main/java/org/apache/camel/component/master/MasterConsumer.java b/components/camel-master/src/main/java/org/apache/camel/component/master/MasterConsumer.java index e6d884efbbd..2204e82e322 100644 --- a/components/camel-master/src/main/java/org/apache/camel/component/master/MasterConsumer.java +++ b/components/camel-master/src/main/java/org/apache/camel/component/master/MasterConsumer.java @@ -40,7 +40,7 @@ import org.slf4j.LoggerFactory; * A consumer which is only really active when the {@link CamelClusterView} has the leadership. */ @ManagedResource(description = "Managed Master Consumer") -public class MasterConsumer extends DefaultConsumer implements ResumeAware { +public class MasterConsumer extends DefaultConsumer implements ResumeAware<ResumeStrategy> { private static final transient Logger LOG = LoggerFactory.getLogger(MasterConsumer.class); private final CamelClusterService clusterService; diff --git a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppConnectionFactory.java b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppConnectionFactory.java index 9b401610411..1ac673acf1a 100644 --- a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppConnectionFactory.java +++ b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppConnectionFactory.java @@ -170,7 +170,7 @@ public final class SmppConnectionFactory implements ConnectionFactory { } // read until empty line - for (; response.length() > 0;) { + while (!response.isEmpty()) { response = reader.readLine(); if (response == null) { throw new RuntimeCamelException("Proxy error: reached end of stream"); diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java index 57d08b48da5..e4a8196fb38 100644 --- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java +++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java @@ -923,7 +923,7 @@ public abstract class AbstractCamelContext extends BaseService @Override public List<Route> getRoutes() { - // lets return a copy of the collection as objects are removed later + // let's return a copy of the collection as objects are removed later // when services are stopped if (routes.isEmpty()) { return Collections.emptyList(); diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelInternalProcessor.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelInternalProcessor.java index ea0bc711009..f2b0faef125 100644 --- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelInternalProcessor.java +++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelInternalProcessor.java @@ -76,6 +76,8 @@ import org.apache.camel.util.StopWatch; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static java.util.Objects.requireNonNull; + /** * Internal {@link Processor} that Camel routing engine used during routing for cross cutting functionality such as: * <ul> @@ -119,7 +121,7 @@ public class CamelInternalProcessor extends DelegateAsyncProcessor implements In public CamelInternalProcessor(CamelContext camelContext) { this.camelContext = camelContext; - this.reactiveExecutor = camelContext.getCamelContextExtension().getReactiveExecutor(); + this.reactiveExecutor = requireNonNull(camelContext.getCamelContextExtension().getReactiveExecutor()); this.shutdownStrategy = camelContext.getShutdownStrategy(); } @@ -130,14 +132,6 @@ public class CamelInternalProcessor extends DelegateAsyncProcessor implements In this.shutdownStrategy = camelContext.getShutdownStrategy(); } - private CamelInternalProcessor(Logger log) { - // used for eager loading - camelContext = null; - reactiveExecutor = null; - shutdownStrategy = null; - log.trace("Loaded {}", AsyncAfterTask.class.getSimpleName()); - } - @Override protected void doBuild() throws Exception { boolean pooled = camelContext.getCamelContextExtension().getExchangeFactory().isPooled(); diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultAsyncProcessorAwaitManager.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultAsyncProcessorAwaitManager.java index 92983c1670a..3e1d23f063f 100644 --- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultAsyncProcessorAwaitManager.java +++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultAsyncProcessorAwaitManager.java @@ -188,9 +188,7 @@ public class DefaultAsyncProcessorAwaitManager extends ServiceSupport implements // dump a route stack trace of the exchange String routeStackTrace = MessageHelper.dumpMessageHistoryStacktrace(exchange, exchangeFormatter, false); - if (routeStackTrace != null) { - sb.append(routeStackTrace); - } + sb.append(routeStackTrace); LOG.warn(sb.toString()); } catch (Exception e) { diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java index dbb99e835c4..cd84505f92e 100644 --- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java +++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultCamelContextExtension.java @@ -229,9 +229,6 @@ class DefaultCamelContextExtension implements ExtendedCamelContext { @Override public Endpoint hasEndpoint(NormalizedEndpointUri uri) { - if (camelContext.getEndpointRegistry().isEmpty()) { - return null; - } return camelContext.getEndpointRegistry().get(uri); } diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/InternalRouteStartupManager.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/InternalRouteStartupManager.java index ba608f0132b..697518b36e0 100644 --- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/InternalRouteStartupManager.java +++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/InternalRouteStartupManager.java @@ -276,14 +276,13 @@ final class InternalRouteStartupManager { // check in existing already started as well for (RouteStartupOrder order : camelContext.getCamelContextExtension().getRouteStartupOrder()) { String otherId = order.getRoute().getId(); - if (answer.getRoute().getId().equals(otherId)) { - // its the same route id so skip clash check as its the same - // route (can happen when using suspend/resume) - } else if (answer.getStartupOrder() == order.getStartupOrder()) { + // skip clash check if it's the same route id, as it's the same + // route (can happen when using suspend/resume) + if (!answer.getRoute().getId().equals(otherId) + && answer.getStartupOrder() == order.getStartupOrder()) { throw new FailedToStartRouteException( answer.getRoute().getId(), "startupOrder clash. Route " + otherId + " already has startupOrder " - + answer - .getStartupOrder() + + answer.getStartupOrder() + " configured which this route have as well. Please correct startupOrder to be unique among all your routes."); } } diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/IntrospectionSupport.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/IntrospectionSupport.java index 4aaae2c6cfe..d691fdd09c9 100644 --- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/IntrospectionSupport.java +++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/IntrospectionSupport.java @@ -402,10 +402,8 @@ final class IntrospectionSupport { static boolean isPropertyIsGetter(Class<?> type, String propertyName) { try { Method method = type.getMethod("is" + StringHelper.capitalize(propertyName, true)); - if (method != null) { - return method.getReturnType().isAssignableFrom(boolean.class) - || method.getReturnType().isAssignableFrom(Boolean.class); - } + return method.getReturnType().isAssignableFrom(boolean.class) + || method.getReturnType().isAssignableFrom(Boolean.class); } catch (NoSuchMethodException e) { // ignore } @@ -481,7 +479,7 @@ final class IntrospectionSupport { } } if (obj instanceof Map) { - Map map = (Map) obj; + Map<Object, Object> map = (Map) obj; if (context != null && refName != null && value == null) { String s = refName.replace("#", ""); value = CamelContextHelper.lookup(context, s); @@ -489,7 +487,7 @@ final class IntrospectionSupport { map.put(lookupKey, value); return true; } else if (obj instanceof List) { - List list = (List) obj; + List<Object> list = (List) obj; if (context != null && refName != null && value == null) { String s = refName.replace("#", ""); value = CamelContextHelper.lookup(context, s); @@ -507,8 +505,8 @@ final class IntrospectionSupport { // // Note that ArrayList is the default List impl that // is automatically created if the property is null. - if (list instanceof ArrayList) { - ((ArrayList) list).ensureCapacity(idx + 1); + if (list instanceof ArrayList<?> al) { + al.ensureCapacity(idx + 1); } while (list.size() < idx) { list.add(null); @@ -519,7 +517,7 @@ final class IntrospectionSupport { list.add(value); } return true; - } else if (obj.getClass().isArray() && lookupKey != null) { + } else if (obj != null && obj.getClass().isArray()) { if (context != null && refName != null && value == null) { String s = refName.replace("#", ""); value = CamelContextHelper.lookup(context, s); @@ -618,8 +616,7 @@ final class IntrospectionSupport { } else { // We need to convert it // special for boolean values with string values as we only want to accept "true" or "false" - if ((parameterType == Boolean.class || parameterType == boolean.class) && ref instanceof String) { - String val = (String) ref; + if ((parameterType == Boolean.class || parameterType == boolean.class) && ref instanceof String val) { if (!val.equalsIgnoreCase("true") && !val.equalsIgnoreCase("false")) { // this is our self myself = true; diff --git a/core/camel-base/src/main/java/org/apache/camel/component/properties/AbstractLocationPropertiesSource.java b/core/camel-base/src/main/java/org/apache/camel/component/properties/AbstractLocationPropertiesSource.java index 89d3c2dbd5f..ee735a3cc1a 100644 --- a/core/camel-base/src/main/java/org/apache/camel/component/properties/AbstractLocationPropertiesSource.java +++ b/core/camel-base/src/main/java/org/apache/camel/component/properties/AbstractLocationPropertiesSource.java @@ -68,9 +68,8 @@ public abstract class AbstractLocationPropertiesSource extends ServiceSupport @Override public void reloadProperties(String location) { - String resolver = null; - if (ResourceHelper.hasScheme(location)) { - resolver = ResourceHelper.getScheme(location); + String resolver = ResourceHelper.getScheme(location); + if (resolver != null) { location = location.substring(resolver.length()); } PropertiesLocation loc = new PropertiesLocation(resolver, location); @@ -128,9 +127,7 @@ public abstract class AbstractLocationPropertiesSource extends ServiceSupport for (Map.Entry<Object, Object> entry : properties.entrySet()) { Object key = entry.getKey(); Object value = entry.getValue(); - if (value instanceof String) { - String s = (String) value; - + if (value instanceof String s) { // trim any trailing spaces which can be a problem when loading from // a properties file, note that java.util.Properties do already this // for any potential leading spaces so there's nothing to do there diff --git a/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/ServiceCallProcessorFactory.java b/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/ServiceCallProcessorFactory.java index d4e9ab79e33..dc42fff7804 100644 --- a/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/ServiceCallProcessorFactory.java +++ b/core/camel-cloud/src/main/java/org/apache/camel/impl/cloud/ServiceCallProcessorFactory.java @@ -416,8 +416,7 @@ public class ServiceCallProcessorFactory extends TypedProcessorFactory<ServiceCa = CamelContextHelper.lookup(camelContext, lookupName, 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. return factory.newInstance(camelContext); } else { @@ -427,7 +426,7 @@ public class ServiceCallProcessorFactory extends TypedProcessorFactory<ServiceCa // Then use Service factory. type = camelContext.getCamelContextExtension() .getFactoryFinder(ServiceCallDefinitionConstants.RESOURCE_PATH).findClass(lookupName).orElse(null); - } catch (Exception e) { + } catch (Exception ignore) { } if (ObjectHelper.isNotEmpty(type)) { diff --git a/core/camel-cluster/src/main/java/org/apache/camel/impl/cluster/ClusteredRoutePolicy.java b/core/camel-cluster/src/main/java/org/apache/camel/impl/cluster/ClusteredRoutePolicy.java index 7a82060acf8..28e2a3032d9 100644 --- a/core/camel-cluster/src/main/java/org/apache/camel/impl/cluster/ClusteredRoutePolicy.java +++ b/core/camel-cluster/src/main/java/org/apache/camel/impl/cluster/ClusteredRoutePolicy.java @@ -113,7 +113,7 @@ public final class ClusteredRoutePolicy extends RoutePolicySupport implements Ca return; } - if (this.camelContext != null && this.camelContext != camelContext) { + if (this.camelContext != null) { throw new IllegalStateException( "CamelContext should not be changed: current=" + this.camelContext + ", new=" + camelContext); } diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/ConsumerDevConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/ConsumerDevConsole.java index 420346bc035..89c574bce8b 100644 --- a/core/camel-console/src/main/java/org/apache/camel/impl/console/ConsumerDevConsole.java +++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/ConsumerDevConsole.java @@ -211,10 +211,8 @@ public class ConsumerDevConsole extends AbstractDevConsole { } } - if (mr != null) { - final JsonObject stats = toJsonObject(mr); - jo.put("statistics", stats); - } + final JsonObject stats = toJsonObject(mr); + jo.put("statistics", stats); list.add(jo); } diff --git a/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java b/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java index cf8e961913f..f1d677d596c 100644 --- a/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java +++ b/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java @@ -517,8 +517,8 @@ public abstract class AbstractCamelCatalog { // grab authority part and grab username and/or password String authority = u.getAuthority(); if (authority != null && authority.contains("@")) { - String username = null; - String password = null; + String username; + String password; // grab unserinfo part before @ String userInfo = authority.substring(0, authority.indexOf('@')); @@ -529,6 +529,7 @@ public abstract class AbstractCamelCatalog { } else { // only username username = userInfo; + password = null; } // remember the username and/or password which we add later to the options @@ -1326,9 +1327,9 @@ public abstract class AbstractCamelCatalog { LanguageValidationResult answer = new LanguageValidationResult(simple); - Object context = null; + Object context; Object instance = null; - Class<?> clazz = null; + Class<?> clazz; try { // need a simple camel context for the simple language parser to be able to parse @@ -1343,7 +1344,7 @@ public abstract class AbstractCamelCatalog { answer.setError(e.getMessage()); } - if (clazz != null && context != null && instance != null) { + if (clazz != null) { Throwable cause = null; try { if (predicate) { diff --git a/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/CatalogHelper.java b/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/CatalogHelper.java index 53be303b875..5039eccea26 100644 --- a/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/CatalogHelper.java +++ b/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/CatalogHelper.java @@ -182,7 +182,6 @@ public final class CatalogHelper { Map<String, Object> rc = new LinkedHashMap<>(); boolean isKey = true; - boolean isValue = false; boolean isRaw = false; StringBuilder key = new StringBuilder(); StringBuilder value = new StringBuilder(); @@ -197,7 +196,6 @@ public final class CatalogHelper { // if its a key and there is a = sign then the key ends and we are in value mode if (isKey && ch == '=') { isKey = false; - isValue = true; isRaw = false; continue; } @@ -211,7 +209,6 @@ public final class CatalogHelper { key.setLength(0); value.setLength(0); isKey = true; - isValue = false; isRaw = false; continue; } @@ -219,7 +216,7 @@ public final class CatalogHelper { // regular char so add it to the key or value if (isKey) { key.append(ch); - } else if (isValue) { + } else { value.append(ch); } } diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultCamelContext.java b/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultCamelContext.java index 5220affbd44..01ae79b13c0 100644 --- a/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultCamelContext.java +++ b/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultCamelContext.java @@ -645,7 +645,7 @@ public class DefaultCamelContext extends SimpleCamelContext implements ModelCame } // copy parameters/bean repository to not cause side effect - Map<Object, Object> params = new HashMap<>(routeDefinition.getTemplateParameters()); + Map<String, Object> params = new HashMap<>(routeDefinition.getTemplateParameters()); LocalBeanRegistry bbr = (LocalBeanRegistry) routeDefinition.getRouteTemplateContext().getLocalBeanRepository(); LocalBeanRegistry bbrCopy = new LocalBeanRegistry(); @@ -655,10 +655,9 @@ public class DefaultCamelContext extends SimpleCamelContext implements ModelCame // no side-effect from previously used values that Camel may use in its endpoint // registry and elsewhere if (bbr != null && !bbr.isEmpty()) { - for (Map.Entry<Object, Object> param : params.entrySet()) { + for (Map.Entry<String, Object> param : params.entrySet()) { Object value = param.getValue(); - if (value instanceof String) { - String oldKey = (String) value; + if (value instanceof String oldKey) { boolean clash = bbr.keys().stream().anyMatch(k -> k.equals(oldKey)); if (clash) { String newKey = oldKey + "-" + UUID.generateUuid(); @@ -702,7 +701,7 @@ public class DefaultCamelContext extends SimpleCamelContext implements ModelCame pc.setLocalProperties(prop); // we need to shadow the bean registry on the CamelContext with the local beans from the route template context - if (localBeans != null && bbrCopy != null) { + if (localBeans != null) { localBeans.setLocalBeanRepository(bbrCopy); } diff --git a/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWith.java b/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWith.java index a0407c3fa20..fca6e2e4e65 100644 --- a/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWith.java +++ b/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWith.java @@ -213,10 +213,11 @@ public final class AdviceWith { RoutesDefinition routes = builder.configureRoutes(camelContext); // was logging enabled or disabled - boolean logRoutesAsXml = true; - if (builder instanceof AdviceWithRouteBuilder) { - AdviceWithRouteBuilder arb = (AdviceWithRouteBuilder) builder; + boolean logRoutesAsXml; + if (builder instanceof AdviceWithRouteBuilder arb) { logRoutesAsXml = arb.isLogRouteAsXml(); + } else { + logRoutesAsXml = true; } LOG.debug("AdviceWith routes: {}", routes); @@ -276,7 +277,7 @@ public final class AdviceWith { LOG.info("AdviceWith route after: {}", merged); } - if (beforeAsXml != null && logRoutesAsXml && LOG.isInfoEnabled()) { + if (beforeAsXml != null && LOG.isInfoEnabled()) { try { ModelToXMLDumper modelToXMLDumper = PluginHelper.getModelToXMLDumper(ecc); String afterAsXml = modelToXMLDumper.dumpModelAsXml(camelContext, merged); diff --git a/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWithTasks.java b/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWithTasks.java index 05de7c02a4d..0707871811e 100644 --- a/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWithTasks.java +++ b/core/camel-core-model/src/main/java/org/apache/camel/builder/AdviceWithTasks.java @@ -467,7 +467,7 @@ public final class AdviceWithTasks { List<ProcessorDefinition<?>> outputs = parent.getOutputs(); boolean allAbstract = true; for (ProcessorDefinition<?> def : outputs) { - allAbstract &= def.isAbstract(); + allAbstract = def.isAbstract(); if (!allAbstract) { break; } diff --git a/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClause.java b/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClause.java index 5236fa8169c..8e69e344c72 100644 --- a/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClause.java +++ b/core/camel-core-model/src/main/java/org/apache/camel/builder/ExpressionClause.java @@ -1055,7 +1055,7 @@ public class ExpressionClause<T> implements Expression, Predicate { } @Override - public <T> T evaluate(Exchange exchange, Class<T> type) { + public <U> U evaluate(Exchange exchange, Class<U> type) { init(exchange.getContext()); return expr.evaluate(exchange, type); } diff --git a/core/camel-core-model/src/main/java/org/apache/camel/builder/FlexibleAggregationStrategy.java b/core/camel-core-model/src/main/java/org/apache/camel/builder/FlexibleAggregationStrategy.java index 40d357682cf..50f182e7240 100644 --- a/core/camel-core-model/src/main/java/org/apache/camel/builder/FlexibleAggregationStrategy.java +++ b/core/camel-core-model/src/main/java/org/apache/camel/builder/FlexibleAggregationStrategy.java @@ -291,9 +291,7 @@ public class FlexibleAggregationStrategy<E> implements AggregationStrategy { collection = collectionType.cast(oldValue); } - if (collection != null) { - collection.add(toInsert); - } + collection.add(toInsert); } catch (ClassCastException exception) { if (!ignoreInvalidCasts) { diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java b/core/camel-core-model/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java index d376c1b5c0a..9c54a6df6af 100644 --- a/core/camel-core-model/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java +++ b/core/camel-core-model/src/main/java/org/apache/camel/model/ProcessorDefinitionHelper.java @@ -202,7 +202,7 @@ public final class ProcessorDefinitionHelper { // add ourselves if (node.getId() != null) { - if (!onlyCustomId || node.hasCustomIdAssigned() && onlyCustomId) { + if (!onlyCustomId || node.hasCustomIdAssigned()) { set.add(node.getId()); } } diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java index d5a8659330b..1c8bf44cef7 100644 --- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java +++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/ClaimCheckAggregationStrategy.java @@ -117,10 +117,10 @@ public class ClaimCheckAggregationStrategy implements AggregationStrategy { Iterable<?> it = ObjectHelper.createIterable(filter, ","); for (Object k : it) { String part = k.toString(); - if (("body".equals(part) || "+body".equals(part)) && !"-body".equals(part)) { + if ("body".equals(part) || "+body".equals(part)) { oldExchange.getMessage().setBody(newExchange.getMessage().getBody()); LOG.trace("Including: body"); - } else if (("headers".equals(part) || "+headers".equals(part)) && !"-headers".equals(part)) { + } else if ("headers".equals(part) || "+headers".equals(part)) { oldExchange.getMessage().getHeaders().putAll(newExchange.getMessage().getHeaders()); LOG.trace("Including: headers"); } diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/Splitter.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/Splitter.java index 66df200c9ad..72c557ccbe2 100644 --- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/Splitter.java +++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/Splitter.java @@ -109,9 +109,8 @@ public class Splitter extends MulticastProcessor implements AsyncProcessor, Trac AggregationStrategy strategy = getAggregationStrategy(); // set original exchange if not already pre-configured - if (strategy instanceof UseOriginalAggregationStrategy) { + if (strategy instanceof UseOriginalAggregationStrategy original) { // need to create a new private instance, as we can also have concurrency issue so we cannot store state - UseOriginalAggregationStrategy original = (UseOriginalAggregationStrategy) strategy; AggregationStrategy clone = original.newInstance(exchange); if (isShareUnitOfWork()) { clone = new ShareUnitOfWorkAggregationStrategy(clone); @@ -163,24 +162,12 @@ public class Splitter extends MulticastProcessor implements AsyncProcessor, Trac // create a copy which we use as master to copy during splitting // this avoids any side effect reflected upon the incoming exchange - final Object value; - final Iterator<?> iterator; + private final Object value; + private final Iterator<?> iterator; private Exchange copy; private final Route route; private final Exchange original; - private SplitterIterable() { - // used for eager classloading - value = null; - iterator = null; - copy = null; - route = null; - original = null; - // for loading classes from iterator - Object dummy = iterator(); - LOG.trace("Loaded {}", dummy.getClass().getName()); - } - private SplitterIterable(Exchange exchange, Object value) { this.original = exchange; this.value = value; diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/DefaultErrorHandler.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/DefaultErrorHandler.java index 2bd326b4074..7d5ffd5cd7f 100644 --- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/DefaultErrorHandler.java +++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/DefaultErrorHandler.java @@ -24,7 +24,6 @@ import org.apache.camel.Predicate; import org.apache.camel.Processor; import org.apache.camel.spi.CamelLogger; import org.apache.camel.spi.ErrorHandler; -import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** @@ -62,15 +61,6 @@ public class DefaultErrorHandler extends RedeliveryErrorHandler { executorService, onPrepareProcessor, onExceptionOccurredProcessor); } - private DefaultErrorHandler(Logger log) { - // used for eager loading - super(log); - SimpleTask dummy = new SimpleTask(); - log.trace("Loaded {}", dummy.getClass().getName()); - RedeliveryTask dummy2 = new RedeliveryTask(); - log.trace("Loaded {}", dummy2.getClass().getName()); - } - @Override public ErrorHandler clone(Processor output) { DefaultErrorHandler answer = new DefaultErrorHandler( diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java index 9c4d2b57870..462980cdb45 100644 --- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java +++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java @@ -62,6 +62,8 @@ import org.apache.camel.util.URISupport; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static java.util.Objects.requireNonNull; + /** * Base redeliverable error handler that also supports a final dead letter queue in case all redelivery attempts fail. * <p/> @@ -117,9 +119,9 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport ObjectHelper.notNull(redeliveryPolicy, "RedeliveryPolicy", this); this.camelContext = camelContext; - this.reactiveExecutor = camelContext.getCamelContextExtension().getReactiveExecutor(); + this.reactiveExecutor = requireNonNull(camelContext.getCamelContextExtension().getReactiveExecutor()); this.awaitManager = PluginHelper.getAsyncProcessorAwaitManager(camelContext); - this.shutdownStrategy = camelContext.getShutdownStrategy(); + this.shutdownStrategy = requireNonNull(camelContext.getShutdownStrategy()); this.redeliveryProcessor = redeliveryProcessor; this.deadLetter = deadLetter; this.output = output; @@ -167,30 +169,6 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport } } - RedeliveryErrorHandler(Logger log) { - // used for eager loading - camelContext = null; - reactiveExecutor = null; - awaitManager = null; - shutdownStrategy = null; - deadLetter = null; - deadLetterUri = null; - deadLetterHandleNewException = false; - redeliveryProcessor = null; - redeliveryPolicy = null; - retryWhilePolicy = null; - logger = null; - useOriginalMessagePolicy = false; - useOriginalBodyPolicy = false; - redeliveryEnabled = false; - simpleTask = false; - exchangeFormatter = null; - customExchangeFormatter = false; - onPrepareProcessor = null; - onExceptionProcessor = null; - log.trace("Loaded {}", RedeliveryErrorHandler.class.getName()); - } - @Override public void process(Exchange exchange) { if (output == null) { @@ -619,9 +597,7 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport : (redeliveryPolicy.isLogExhaustedMessageBody() || camelContext.isLogExhaustedMessageBody() ? exchangeFormatter : null); String routeStackTrace = MessageHelper.dumpMessageHistoryStacktrace(exchange, formatter, false); - if (routeStackTrace != null) { - msg = msg + "\n" + routeStackTrace; - } + msg = msg + "\n" + routeStackTrace; } if (logger.getLevel() == LoggingLevel.ERROR) { @@ -642,9 +618,7 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport ? exchangeFormatter : null); String routeStackTrace = MessageHelper.dumpMessageHistoryStacktrace(exchange, formatter, e != null && redeliveryPolicy.isLogStackTrace()); - if (routeStackTrace != null) { - msg = msg + "\n" + routeStackTrace; - } + msg = msg + "\n" + routeStackTrace; } if (e != null && redeliveryPolicy.isLogStackTrace()) { @@ -1232,12 +1206,10 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport // create log message String msg = "Failed delivery for " + ExchangeHelper.logIds(exchange); msg = msg + ". Exhausted after delivery attempt: " + redeliveryCounter + " caught: " + caught; - if (processor != null) { - if (isDeadLetterChannel && deadLetterUri != null) { - msg = msg + ". Handled by DeadLetterChannel: [" + URISupport.sanitizeUri(deadLetterUri) + "]"; - } else { - msg = msg + ". Processed by failure processor: " + processor; - } + if (isDeadLetterChannel && deadLetterUri != null) { + msg = msg + ". Handled by DeadLetterChannel: [" + URISupport.sanitizeUri(deadLetterUri) + "]"; + } else { + msg = msg + ". Processed by failure processor: " + processor; } // log that we failed delivery as we are exhausted @@ -1278,7 +1250,7 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport String msg = "Failed delivery for " + ExchangeHelper.logIds(exchange); msg = msg + ". Exhausted after delivery attempt: " + redeliveryCounter + " caught: " + caught; if (processor != null) { - if (isDeadLetterChannel && deadLetterUri != null) { + if (deadLetterUri != null) { msg = msg + ". Handled by DeadLetterChannel: [" + URISupport.sanitizeUri(deadLetterUri) + "]"; } else { msg = msg + ". Processed by failure processor: " + processor; @@ -1476,9 +1448,7 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport : (currentRedeliveryPolicy.isLogExhaustedMessageBody() || camelContext.isLogExhaustedMessageBody() ? exchangeFormatter : null); String routeStackTrace = MessageHelper.dumpMessageHistoryStacktrace(exchange, formatter, false); - if (routeStackTrace != null) { - msg = msg + "\n" + routeStackTrace; - } + msg = msg + "\n" + routeStackTrace; } if (newLogLevel == LoggingLevel.ERROR) { @@ -1499,9 +1469,7 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport ? exchangeFormatter : null); String routeStackTrace = MessageHelper.dumpMessageHistoryStacktrace(exchange, formatter, e != null && logStackTrace); - if (routeStackTrace != null) { - msg = msg + "\n" + routeStackTrace; - } + msg = msg + "\n" + routeStackTrace; } if (e != null && logStackTrace) { diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/resequencer/ResequencerEngine.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/resequencer/ResequencerEngine.java index 2a3fd4b24ad..fc8272ce697 100644 --- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/resequencer/ResequencerEngine.java +++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/resequencer/ResequencerEngine.java @@ -192,7 +192,7 @@ public class ResequencerEngine<E> { } // validate the exchange shouldn't be 'rejected' (if applicable) - if (rejectOld != null && rejectOld.booleanValue() && beforeLastDelivered(element)) { + if (rejectOld != null && rejectOld && beforeLastDelivered(element)) { throw new MessageRejectedException( "rejecting message [" + element.getObject() + "], it should have been sent before the last delivered message [" @@ -211,11 +211,7 @@ public class ResequencerEngine<E> { } // start delivery if current element is successor of last delivered element - if (successorOfLastDelivered(element)) { - // nothing to schedule - } else if (sequence.predecessor(element) != null) { - // nothing to schedule - } else { + if (!successorOfLastDelivered(element) && sequence.predecessor(element) == null) { element.schedule(defineTimeout()); } } @@ -227,6 +223,7 @@ public class ResequencerEngine<E> { * * @see ResequencerEngine#deliverNext() */ + @SuppressWarnings("StatementWithEmptyBody") public synchronized void deliver() throws Exception { while (deliverNext()) { // do nothing here diff --git a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/CatchReifier.java b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/CatchReifier.java index 52be2a9dacb..bc7493be6e6 100644 --- a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/CatchReifier.java +++ b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/CatchReifier.java @@ -26,8 +26,6 @@ import org.apache.camel.model.CatchDefinition; import org.apache.camel.model.ProcessorDefinition; import org.apache.camel.model.TryDefinition; import org.apache.camel.processor.CatchProcessor; -import org.apache.camel.spi.IdAware; -import org.apache.camel.spi.RouteIdAware; public class CatchReifier extends ProcessorReifier<CatchDefinition> { @@ -63,13 +61,9 @@ public class CatchReifier extends ProcessorReifier<CatchDefinition> { CatchProcessor processor = new CatchProcessor(getCamelContext(), definition.getExceptionClasses(), childProcessor, when); // inject id - if (processor instanceof IdAware) { - String id = getId(definition); - ((IdAware) processor).setId(id); - } - if (processor instanceof RouteIdAware) { - ((RouteIdAware) processor).setRouteId(route.getRouteId()); - } + String id = getId(definition); + processor.setId(id); + processor.setRouteId(route.getRouteId()); return wrapProcessor(processor); } diff --git a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/ErrorHandlerReifier.java b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/ErrorHandlerReifier.java index a92df428005..b9d691fd712 100644 --- a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/ErrorHandlerReifier.java +++ b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/ErrorHandlerReifier.java @@ -332,9 +332,7 @@ public abstract class ErrorHandlerReifier<T extends ErrorHandlerFactory> extends public abstract Processor createErrorHandler(Processor processor) throws Exception; public void configure(ErrorHandler handler) { - if (handler instanceof ErrorHandlerSupport) { - ErrorHandlerSupport handlerSupport = (ErrorHandlerSupport) handler; - + if (handler instanceof ErrorHandlerSupport handlerSupport) { for (NamedNode exception : route.getErrorHandlers(definition)) { addExceptionPolicy(handlerSupport, (OnExceptionDefinition) exception); } @@ -465,7 +463,7 @@ public abstract class ErrorHandlerReifier<T extends ErrorHandlerFactory> extends return pred; } - protected <T> T getBean(Class<T> clazz, T bean, String ref) { + protected <U> U getBean(Class<U> clazz, U bean, String ref) { if (bean == null && ref != null) { bean = lookupByNameAndType(ref, clazz); } diff --git a/core/camel-core/src/test/java/org/apache/camel/component/rest/RestComponentVerifierExtensionTest.java b/core/camel-core/src/test/java/org/apache/camel/component/rest/RestComponentVerifierExtensionTest.java index 7ab9d86dcdd..ff14c9d86c7 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/rest/RestComponentVerifierExtensionTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/rest/RestComponentVerifierExtensionTest.java @@ -106,7 +106,7 @@ public class RestComponentVerifierExtensionTest extends ContextTestSupport { @Override public Result verify(Scope scope, Map<String, Object> parameters) { return ResultBuilder.withStatusAndScope(RestComponentVerifierExtension.Result.Status.OK, scope) - .error(ResultErrorHelper.requiresOption("authProxy", parameters)) + .error(ResultErrorHelper.requiresOption("authProxy", parameters).orElse(null)) .build(); } }); diff --git a/core/camel-core/src/test/java/org/apache/camel/component/rest/RestComponentVerifierTest.java b/core/camel-core/src/test/java/org/apache/camel/component/rest/RestComponentVerifierTest.java index 54b7082f01f..5351a509c35 100644 --- a/core/camel-core/src/test/java/org/apache/camel/component/rest/RestComponentVerifierTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/component/rest/RestComponentVerifierTest.java @@ -101,7 +101,7 @@ public class RestComponentVerifierTest extends ContextTestSupport { @Override public Result verify(Scope scope, Map<String, Object> parameters) { return ResultBuilder.withStatusAndScope(RestComponentVerifierExtension.Result.Status.OK, scope) - .error(ResultErrorHelper.requiresOption("authProxy", parameters)) + .error(ResultErrorHelper.requiresOption("authProxy", parameters).orElse(null)) .build(); } }); diff --git a/core/camel-management/src/main/java/org/apache/camel/management/JmxManagementLifecycleStrategy.java b/core/camel-management/src/main/java/org/apache/camel/management/JmxManagementLifecycleStrategy.java index 16d230ce87a..c648b8cc3ff 100644 --- a/core/camel-management/src/main/java/org/apache/camel/management/JmxManagementLifecycleStrategy.java +++ b/core/camel-management/src/main/java/org/apache/camel/management/JmxManagementLifecycleStrategy.java @@ -240,7 +240,7 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li camelContextMBean = (ManagedCamelContext) mc; } - // register any pre registered now that we are initialized + // register any pre-registered now that we are initialized enlistPreRegisteredServices(); // register health check if detected @@ -438,7 +438,7 @@ public class JmxManagementLifecycleStrategy extends ServiceSupport implements Li @Override public void onServiceAdd(CamelContext context, Service service, Route route) { if (!initialized) { - // pre register so we can register later when we have been initialized + // pre-register so we can register later when we have been initialized preServices.add(lf -> lf.onServiceAdd(camelContext, service, route)); return; } diff --git a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedStreamCachingStrategy.java b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedStreamCachingStrategy.java index 74dc57d2e05..53d52363cf0 100644 --- a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedStreamCachingStrategy.java +++ b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedStreamCachingStrategy.java @@ -34,12 +34,16 @@ public class ManagedStreamCachingStrategy extends ManagedService implements Mana this.camelContext = camelContext; this.streamCachingStrategy = streamCachingStrategy; if (streamCachingStrategy.getAllowClasses() != null) { - this.allowClasses = streamCachingStrategy.getAllowClasses().toArray(new String[0]); + this.allowClasses = streamCachingStrategy.getAllowClasses() + .stream().map(Class::getName) + .toArray(String[]::new); } else { this.allowClasses = null; } if (streamCachingStrategy.getDenyClasses() != null) { - this.denyClasses = streamCachingStrategy.getDenyClasses().toArray(new String[0]); + this.denyClasses = streamCachingStrategy.getDenyClasses() + .stream().map(Class::getName) + .toArray(String[]::new); } else { this.denyClasses = null; } @@ -113,16 +117,10 @@ public class ManagedStreamCachingStrategy extends ManagedService implements Mana if (limit == null) { l = null; } else { - switch (limit) { - case Committed: - l = StreamCachingStrategy.SpoolUsedHeapMemoryLimit.Committed; - break; - case Max: - l = StreamCachingStrategy.SpoolUsedHeapMemoryLimit.Max; - break; - default: - throw new IllegalStateException(); - } + l = switch (limit) { + case Committed -> StreamCachingStrategy.SpoolUsedHeapMemoryLimit.Committed; + case Max -> StreamCachingStrategy.SpoolUsedHeapMemoryLimit.Max; + }; } streamCachingStrategy.setSpoolUsedHeapMemoryLimit(l); } @@ -133,14 +131,10 @@ public class ManagedStreamCachingStrategy extends ManagedService implements Mana if (l == null) { return null; } else { - switch (l) { - case Committed: - return SpoolUsedHeapMemoryLimit.Committed; - case Max: - return SpoolUsedHeapMemoryLimit.Max; - default: - throw new IllegalStateException(); - } + return switch (l) { + case Committed -> SpoolUsedHeapMemoryLimit.Committed; + case Max -> SpoolUsedHeapMemoryLimit.Max; + }; } } diff --git a/core/camel-management/src/main/java/org/apache/camel/management/mbean/RouteCoverageXmlParser.java b/core/camel-management/src/main/java/org/apache/camel/management/mbean/RouteCoverageXmlParser.java index a3719b8c376..f13d4992871 100644 --- a/core/camel-management/src/main/java/org/apache/camel/management/mbean/RouteCoverageXmlParser.java +++ b/core/camel-management/src/main/java/org/apache/camel/management/mbean/RouteCoverageXmlParser.java @@ -110,50 +110,48 @@ public final class RouteCoverageXmlParser { } String id = el.getAttribute("id"); - if (id != null) { - try { - if ("route".equals(qName)) { - ManagedRouteMBean route = camelContext.getCamelContextExtension() - .getContextPlugin(ManagedCamelContext.class).getManagedRoute(id); + try { + if ("route".equals(qName)) { + ManagedRouteMBean route = camelContext.getCamelContextExtension() + .getContextPlugin(ManagedCamelContext.class).getManagedRoute(id); + if (route != null) { + long total = route.getExchangesTotal(); + el.setAttribute("exchangesTotal", Long.toString(total)); + long totalTime = route.getTotalProcessingTime(); + el.setAttribute("totalProcessingTime", Long.toString(totalTime)); + } + } else if ("from".equals(qName)) { + // grab statistics from the parent route as from would be the same + Element parent = elementStack.peek(); + if (parent != null) { + String routeId = parent.getAttribute("id"); + ManagedRouteMBean route + = camelContext.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class) + .getManagedRoute(routeId); if (route != null) { long total = route.getExchangesTotal(); el.setAttribute("exchangesTotal", Long.toString(total)); long totalTime = route.getTotalProcessingTime(); el.setAttribute("totalProcessingTime", Long.toString(totalTime)); + // from is index-0 + el.setAttribute("index", "0"); } - } else if ("from".equals(qName)) { - // grab statistics from the parent route as from would be the same - Element parent = elementStack.peek(); - if (parent != null) { - String routeId = parent.getAttribute("id"); - ManagedRouteMBean route - = camelContext.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class) - .getManagedRoute(routeId); - if (route != null) { - long total = route.getExchangesTotal(); - el.setAttribute("exchangesTotal", Long.toString(total)); - long totalTime = route.getTotalProcessingTime(); - el.setAttribute("totalProcessingTime", Long.toString(totalTime)); - // from is index-0 - el.setAttribute("index", "0"); - } - } - } else { - ManagedProcessorMBean processor - = camelContext.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class) - .getManagedProcessor(id); - if (processor != null) { - long total = processor.getExchangesTotal(); - el.setAttribute("exchangesTotal", Long.toString(total)); - long totalTime = processor.getTotalProcessingTime(); - el.setAttribute("totalProcessingTime", Long.toString(totalTime)); - int index = processor.getIndex(); - el.setAttribute("index", Integer.toString(index)); - } } - } catch (Exception e) { - // ignore + } else { + ManagedProcessorMBean processor + = camelContext.getCamelContextExtension().getContextPlugin(ManagedCamelContext.class) + .getManagedProcessor(id); + if (processor != null) { + long total = processor.getExchangesTotal(); + el.setAttribute("exchangesTotal", Long.toString(total)); + long totalTime = processor.getTotalProcessingTime(); + el.setAttribute("totalProcessingTime", Long.toString(totalTime)); + int index = processor.getIndex(); + el.setAttribute("index", Integer.toString(index)); + } } + } catch (Exception e) { + // ignore } // we do not want customId in output of the EIPs diff --git a/core/camel-management/src/test/java/org/apache/camel/management/ManagedStreamCachingStrategyTest.java b/core/camel-management/src/test/java/org/apache/camel/management/ManagedStreamCachingStrategyTest.java index 59a61ae18bc..2a328c1b689 100644 --- a/core/camel-management/src/test/java/org/apache/camel/management/ManagedStreamCachingStrategyTest.java +++ b/core/camel-management/src/test/java/org/apache/camel/management/ManagedStreamCachingStrategyTest.java @@ -16,11 +16,13 @@ */ package org.apache.camel.management; +import java.io.InputStream; import java.util.Set; import javax.management.MBeanServer; import javax.management.ObjectName; +import org.apache.camel.CamelContext; import org.apache.camel.StreamCache; import org.apache.camel.builder.RouteBuilder; import org.apache.camel.impl.DefaultCamelContext; @@ -37,6 +39,12 @@ import static org.junit.jupiter.api.Assertions.assertNull; @DisabledOnOs(OS.AIX) public class ManagedStreamCachingStrategyTest extends ManagementTestSupport { + @Override + protected CamelContext createCamelContext() throws Exception { + CamelContext camelContext = super.createCamelContext(); + camelContext.getStreamCachingStrategy().setAllowClasses(InputStream.class); + return camelContext; + } @Test public void testStreamCachingStrategy() throws Exception { diff --git a/core/camel-support/src/main/java/org/apache/camel/converter/stream/CachedOutputStream.java b/core/camel-support/src/main/java/org/apache/camel/converter/stream/CachedOutputStream.java index 49a8c9d7f0e..de994eecae0 100644 --- a/core/camel-support/src/main/java/org/apache/camel/converter/stream/CachedOutputStream.java +++ b/core/camel-support/src/main/java/org/apache/camel/converter/stream/CachedOutputStream.java @@ -76,7 +76,11 @@ public class CachedOutputStream extends OutputStream { @Override public boolean equals(Object obj) { - return currentStream.equals(obj); + if (obj instanceof CachedOutputStream cos) { + return currentStream.equals(cos.currentStream); + } else { + return currentStream.equals(obj); + } } @Override diff --git a/core/camel-support/src/main/java/org/apache/camel/support/AbstractExchange.java b/core/camel-support/src/main/java/org/apache/camel/support/AbstractExchange.java index a0367cd5400..593e5f047dc 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/AbstractExchange.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/AbstractExchange.java @@ -97,6 +97,7 @@ abstract class AbstractExchange implements Exchange { privateExtension.setUnitOfWork(parent.getUnitOfWork()); } + @SuppressWarnings("CopyConstructorMissesField") protected AbstractExchange(AbstractExchange parent) { this.context = parent.getContext(); this.pattern = parent.getPattern(); diff --git a/core/camel-support/src/main/java/org/apache/camel/support/DefaultHeaderFilterStrategy.java b/core/camel-support/src/main/java/org/apache/camel/support/DefaultHeaderFilterStrategy.java index 9edd19f1e35..ae4b11b9791 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/DefaultHeaderFilterStrategy.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/DefaultHeaderFilterStrategy.java @@ -48,7 +48,7 @@ public class DefaultHeaderFilterStrategy implements HeaderFilterStrategy { * @deprecated use {@link #CAMEL_FILTER_STARTS_WITH} */ @Deprecated(since = "3.9.0") - public static final Pattern CAMEL_FILTER_PATTERN = Pattern.compile("(?i)(Camel|org\\.apache\\.camel)[\\.|a-z|A-z|0-9]*"); + public static final Pattern CAMEL_FILTER_PATTERN = Pattern.compile("(?i)(Camel|org\\.apache\\.camel)[.a-zA-z0-9]*"); /** * A filter pattern for keys starting with <tt>Camel</tt>, <tt>camel</tt>, or <tt>org.apache.camel.</tt> diff --git a/core/camel-support/src/main/java/org/apache/camel/support/DefaultScheduledPollConsumerScheduler.java b/core/camel-support/src/main/java/org/apache/camel/support/DefaultScheduledPollConsumerScheduler.java index 5ce5fc50547..bf6cefeeb98 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/DefaultScheduledPollConsumerScheduler.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/DefaultScheduledPollConsumerScheduler.java @@ -201,7 +201,7 @@ public class DefaultScheduledPollConsumerScheduler extends ServiceSupport implem @Override public boolean isSchedulerStarted() { - return futures != null && !futures.isEmpty(); + return !futures.isEmpty(); } @Override diff --git a/core/camel-support/src/main/java/org/apache/camel/support/EndpointHelper.java b/core/camel-support/src/main/java/org/apache/camel/support/EndpointHelper.java index eb1c640e785..436c3db3ffb 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/EndpointHelper.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/EndpointHelper.java @@ -327,7 +327,7 @@ public final class EndpointHelper { * @throws NoSuchBeanException if object was not found in registry and <code>mandatory</code> is <code>true</code>. */ public static <T> T resolveReferenceParameter(CamelContext context, String value, Class<T> type, boolean mandatory) { - Object answer = null; + Object answer; if (value.startsWith("#class:")) { try { answer = createBean(context, value, type); diff --git a/core/camel-support/src/main/java/org/apache/camel/support/GroupTokenIterator.java b/core/camel-support/src/main/java/org/apache/camel/support/GroupTokenIterator.java index 110227d772a..b7fbd56e422 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/GroupTokenIterator.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/GroupTokenIterator.java @@ -125,7 +125,7 @@ public final class GroupTokenIterator implements Iterator<Object>, Closeable { private Object doNext() throws IOException, NoTypeConversionAvailableException { int count = 0; - Object data = ""; + Object data; while (count < group && it.hasNext()) { data = it.next(); diff --git a/core/camel-support/src/main/java/org/apache/camel/support/MessageHelper.java b/core/camel-support/src/main/java/org/apache/camel/support/MessageHelper.java index e522fbad95e..5e07ab79a6c 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/MessageHelper.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/MessageHelper.java @@ -713,13 +713,13 @@ public final class MessageHelper { } /** - * Dumps the {@link MessageHistory} from the {@link Exchange} in a human readable format. + * Dumps the {@link MessageHistory} from the {@link Exchange} in a human-readable format. * * @param exchange the exchange * @param exchangeFormatter if provided then information about the exchange is included in the dump * @param logStackTrace whether to include a header for the stacktrace, to be added (not included in this * dump). - * @return a human readable message history as a table + * @return a human-readable message history as a table, never {@code null} */ public static String dumpMessageHistoryStacktrace( Exchange exchange, ExchangeFormatter exchangeFormatter, boolean logStackTrace) { diff --git a/core/camel-support/src/main/java/org/apache/camel/support/ObjectHelper.java b/core/camel-support/src/main/java/org/apache/camel/support/ObjectHelper.java index d8e9826c1b8..af25d698dec 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/ObjectHelper.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/ObjectHelper.java @@ -285,9 +285,8 @@ public final class ObjectHelper { return leftNum.compareTo(rightNum); } else if ((rightValue instanceof Integer || rightValue instanceof Long) && leftValue instanceof String && isNumber((String) leftValue)) { - if (rightValue instanceof Integer) { + if (rightValue instanceof Integer rightNum) { Integer leftNum = Integer.valueOf((String) leftValue); - Integer rightNum = (Integer) rightValue; return leftNum.compareTo(rightNum); } else { Long leftNum = Long.valueOf((String) leftValue); @@ -296,8 +295,7 @@ public final class ObjectHelper { } } else if (rightValue instanceof String && (leftValue instanceof Integer || leftValue instanceof Long) && isNumber((String) rightValue)) { - if (leftValue instanceof Integer) { - Integer leftNum = (Integer) leftValue; + if (leftValue instanceof Integer leftNum) { Integer rightNum = Integer.valueOf((String) rightValue); return leftNum.compareTo(rightNum); } else { @@ -305,16 +303,14 @@ public final class ObjectHelper { Long rightNum = Long.valueOf((String) rightValue); return leftNum.compareTo(rightNum); } - } else if (rightValue instanceof Double && leftValue instanceof String && isFloatingNumber((String) leftValue)) { + } else if (rightValue instanceof Double rightNum && leftValue instanceof String + && isFloatingNumber((String) leftValue)) { Double leftNum = Double.valueOf((String) leftValue); - Double rightNum = (Double) rightValue; return leftNum.compareTo(rightNum); - } else if (rightValue instanceof Boolean && leftValue instanceof String) { + } else if (rightValue instanceof Boolean rightBool && leftValue instanceof String) { Boolean leftBool = Boolean.valueOf((String) leftValue); - Boolean rightBool = (Boolean) rightValue; return leftBool.compareTo(rightBool); - } else if (rightValue instanceof String && leftValue instanceof Boolean) { - Boolean leftBool = (Boolean) leftValue; + } else if (rightValue instanceof String && leftValue instanceof Boolean leftBool) { Boolean rightBool = Boolean.valueOf((String) rightValue); return leftBool.compareTo(rightBool); } @@ -338,7 +334,7 @@ public final class ObjectHelper { // as all types can be converted to String which does not work well for comparison // as eg "10" < 6 would return true, where as 10 < 6 will return false. // if they are both String then it doesn't matter - if (rightValue instanceof String && !(leftValue instanceof String)) { + if (rightValue instanceof String) { // if right is String and left is not then flip order (remember to * -1 the result then) return typeCoerceCompare(converter, rightValue, leftValue) * -1; } diff --git a/core/camel-support/src/main/java/org/apache/camel/support/PropertyBindingSupport.java b/core/camel-support/src/main/java/org/apache/camel/support/PropertyBindingSupport.java index 353585af5a8..85213b7a415 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/PropertyBindingSupport.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/PropertyBindingSupport.java @@ -422,7 +422,7 @@ public final class PropertyBindingSupport { } private static Object attemptCreateNewInstanceViaReflection( - CamelContext camelContext, Object newTarget, Class newClass, String name, boolean fluentBuilder, + CamelContext camelContext, Object newTarget, Class<?> newClass, String name, boolean fluentBuilder, boolean allowPrivateSetter, boolean ignoreCase) { // if the name has collection lookup then ignore that as we want to create the instance @@ -570,13 +570,13 @@ public final class PropertyBindingSupport { } // if the target value is a map type, then we can skip reflection // and set the entry - if (!bound && Map.class.isAssignableFrom(target.getClass())) { + if (!bound && target instanceof Map) { ((Map) target).put(key, value); bound = true; } // if the target value is a list type (and key is digit), // then we can skip reflection and set the entry - if (!bound && List.class.isAssignableFrom(target.getClass()) && StringHelper.isDigit(key)) { + if (!bound && target instanceof List && StringHelper.isDigit(key)) { try { // key must be digit int idx = Integer.parseInt(key); @@ -661,11 +661,11 @@ public final class PropertyBindingSupport { if (obj instanceof Map) { // this supports both Map and Properties - Map map = (Map) obj; + Map<Object, Object> map = (Map) obj; map.put(lookupKey, value); return true; } else if (obj instanceof List) { - List list = (List) obj; + List<Object> list = (List) obj; if (isNotEmpty(lookupKey)) { int idx = Integer.parseInt(lookupKey); org.apache.camel.util.ObjectHelper.addListByIndex(list, idx, value); @@ -673,7 +673,7 @@ public final class PropertyBindingSupport { list.add(value); } return true; - } else if (obj.getClass().isArray() && lookupKey != null) { + } else if (obj != null && obj.getClass().isArray() && lookupKey != null) { int idx = Integer.parseInt(lookupKey); int size = Array.getLength(obj); if (idx >= size) { @@ -744,11 +744,11 @@ public final class PropertyBindingSupport { if (obj instanceof Map) { // this supports both Map and Properties - Map map = (Map) obj; + Map<Object, Object> map = (Map) obj; map.put(lookupKey, value); return true; } else if (obj instanceof List) { - List list = (List) obj; + List<Object> list = (List) obj; if (isNotEmpty(lookupKey)) { int idx = Integer.parseInt(lookupKey); if (idx < list.size()) { @@ -763,7 +763,7 @@ public final class PropertyBindingSupport { // Note that ArrayList is the default List impl that // is automatically created if the property is null. if (list instanceof ArrayList) { - ((ArrayList) list).ensureCapacity(idx + 1); + ((ArrayList<?>) list).ensureCapacity(idx + 1); } while (list.size() < idx) { list.add(null); @@ -973,15 +973,13 @@ public final class PropertyBindingSupport { } if (answer instanceof Map && lookupKey != null) { - Map map = (Map) answer; + Map<Object, Object> map = (Map) answer; answer = map.get(lookupKey); if (answer == null) { // okay there was no element in the list, so create a new empty instance if we can know its parameter type - Class<?> parameterType = null; - if (configurer instanceof PropertyConfigurerGetter) { - parameterType = (Class<?>) ((PropertyConfigurerGetter) configurer).getCollectionValueType(target, undashKey, - ignoreCase); - } + Class<?> parameterType; + parameterType = (Class<?>) ((PropertyConfigurerGetter) configurer).getCollectionValueType(target, undashKey, + ignoreCase); if (parameterType != null && org.apache.camel.util.ObjectHelper.hasDefaultPublicNoArgConstructor(parameterType)) { Object instance = context.getInjector().newInstance(parameterType); @@ -990,7 +988,7 @@ public final class PropertyBindingSupport { } } } else if (answer instanceof List) { - List list = (List) answer; + List<Object> list = (List) answer; if (isNotEmpty(lookupKey)) { int idx = Integer.parseInt(lookupKey); answer = list.size() > idx ? list.get(idx) : null; @@ -1003,11 +1001,9 @@ public final class PropertyBindingSupport { } if (answer == null) { // okay there was no element in the list, so create a new empty instance if we can know its parameter type - Class<?> parameterType = null; - if (configurer instanceof PropertyConfigurerGetter) { - parameterType = (Class<?>) ((PropertyConfigurerGetter) configurer).getCollectionValueType(target, undashKey, - ignoreCase); - } + Class<?> parameterType + = (Class<?>) ((PropertyConfigurerGetter) configurer).getCollectionValueType(target, undashKey, + ignoreCase); if (parameterType != null && org.apache.camel.util.ObjectHelper.hasDefaultPublicNoArgConstructor(parameterType)) { Object instance = context.getInjector().newInstance(parameterType); @@ -1015,7 +1011,7 @@ public final class PropertyBindingSupport { answer = instance; } } - } else if (type != null && type.isArray() && lookupKey != null) { + } else if (type.isArray() && lookupKey != null) { Object[] arr = (Object[]) answer; int idx = Integer.parseInt(lookupKey); int size = arr.length; @@ -1097,7 +1093,7 @@ public final class PropertyBindingSupport { } if (answer instanceof Map && lookupKey != null) { - Map map = (Map) answer; + Map<Object, Object> map = (Map) answer; answer = map.get(lookupKey); if (answer == null) { Class<?> parameterType = null; @@ -1125,7 +1121,7 @@ public final class PropertyBindingSupport { } } } else if (answer instanceof List) { - List list = (List) answer; + List<Object> list = (List) answer; if (isNotEmpty(lookupKey)) { int idx = Integer.parseInt(lookupKey); answer = list.size() > idx ? list.get(idx) : null; @@ -1161,7 +1157,7 @@ public final class PropertyBindingSupport { answer = instance; } } - } else if (type != null && type.isArray() && lookupKey != null) { + } else if (type.isArray() && lookupKey != null) { Object[] arr = (Object[]) answer; int idx = Integer.parseInt(lookupKey); int size = arr.length; @@ -1705,7 +1701,7 @@ public final class PropertyBindingSupport { * @param propertyType the type of the property * @param value the property value */ - void onAutowire(Object target, String propertyName, Class propertyType, Object value); + void onAutowire(Object target, String propertyName, Class<?> propertyType, Object value); } @@ -2064,7 +2060,7 @@ public final class PropertyBindingSupport { // walk key with dots to remove right node String[] parts = splitKey(key.toString()); - Map map = originalMap; + Map<?, ?> map = originalMap; for (int i = 0; i < parts.length; i++) { String part = parts[i]; Object obj = map.get(part); @@ -2126,7 +2122,7 @@ public final class PropertyBindingSupport { @Override public boolean configure( CamelContext camelContext, Object target, String name, Object value, boolean ignoreCase) { - ((Map) target).put(name, value); + ((Map<Object, Object>) target).put(name, value); return true; } } diff --git a/core/camel-support/src/main/java/org/apache/camel/support/builder/TokenPairExpressionIterator.java b/core/camel-support/src/main/java/org/apache/camel/support/builder/TokenPairExpressionIterator.java index 1ce44a59760..87dbc8e6718 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/builder/TokenPairExpressionIterator.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/builder/TokenPairExpressionIterator.java @@ -225,13 +225,12 @@ public class TokenPairExpressionIterator extends ExpressionAdapter { String next = scanner.next(); // only grab text after the start token - if (next != null && next.contains(startToken)) { + if (next.contains(startToken)) { next = StringHelper.after(next, startToken); // include tokens in answer if (next != null && includeTokens) { - StringBuilder sb = new StringBuilder(); - next = sb.append(startToken).append(next).append(endToken).toString(); + next = startToken + next + endToken; } } else { // must have start token, otherwise we have reached beyond last tokens diff --git a/core/camel-support/src/main/java/org/apache/camel/support/cache/ServicePool.java b/core/camel-support/src/main/java/org/apache/camel/support/cache/ServicePool.java index 83f93e0aa67..3596bd4d8ec 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/cache/ServicePool.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/cache/ServicePool.java @@ -41,6 +41,8 @@ import org.apache.camel.util.function.ThrowingFunction; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static java.util.Objects.requireNonNull; + /** * A base class for a pool for either producers or consumers used by {@link org.apache.camel.spi.ProducerCache} and * {@link org.apache.camel.spi.ConsumerCache}. @@ -189,9 +191,10 @@ abstract class ServicePool<S extends Service> extends ServiceSupport implements /** * Cleanup the pool (removing stale instances that should be evicted) */ + @SuppressWarnings("rawtypes") public void cleanUp() { - if (cache instanceof LRUCache) { - ((LRUCache) cache).cleanUp(); + if (cache instanceof LRUCache lru) { + lru.cleanUp(); } pool.values().forEach(Pool::cleanUp); } @@ -231,13 +234,8 @@ abstract class ServicePool<S extends Service> extends ServiceSupport implements private final Endpoint endpoint; private volatile S s; - private SinglePool() { - // only used for eager classloading - this.endpoint = null; - } - SinglePool(Endpoint endpoint) { - this.endpoint = endpoint; + this.endpoint = requireNonNull(endpoint); } @Override @@ -333,13 +331,6 @@ abstract class ServicePool<S extends Service> extends ServiceSupport implements private final BlockingQueue<S> queue; private final List<S> evicts; - private MultiplePool() { - // only used for eager classloading - this.endpoint = null; - this.queue = null; - this.evicts = null; - } - MultiplePool(Endpoint endpoint) { this.endpoint = endpoint; this.queue = new ArrayBlockingQueue<>(capacity); diff --git a/core/camel-support/src/main/java/org/apache/camel/support/cache/SimpleSoftCache.java b/core/camel-support/src/main/java/org/apache/camel/support/cache/SimpleSoftCache.java index ee2b8b70f82..93d1a4635c2 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/cache/SimpleSoftCache.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/cache/SimpleSoftCache.java @@ -95,6 +95,7 @@ public class SimpleSoftCache<K, V> implements Map<K, V> { return false; } + @SuppressWarnings("SuspiciousMethodCalls") @Override public V get(Object key) { SoftReference<V> ref = delegate.get(key); @@ -202,6 +203,7 @@ public class SimpleSoftCache<K, V> implements Map<K, V> { } } + @SuppressWarnings("SuspiciousMethodCalls") @Override public boolean remove(Object key, Object value) { if (key == null || value == null) { diff --git a/core/camel-support/src/main/java/org/apache/camel/support/component/ApiMethodParser.java b/core/camel-support/src/main/java/org/apache/camel/support/component/ApiMethodParser.java index 650095e7782..24fd11b8be3 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/component/ApiMethodParser.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/component/ApiMethodParser.java @@ -184,7 +184,7 @@ public abstract class ApiMethodParser<T> { argTypes.add(type); String typeDesc = null; - if (parameters != null && name != null && argName != null) { + if (parameters != null && argName != null) { Map<String, String> params = parameters.get(name); if (params != null) { typeDesc = params.get(argName); diff --git a/core/camel-support/src/main/java/org/apache/camel/support/jndi/JndiContext.java b/core/camel-support/src/main/java/org/apache/camel/support/jndi/JndiContext.java index f568af81371..36f28429ea4 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/jndi/JndiContext.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/jndi/JndiContext.java @@ -46,11 +46,7 @@ import org.apache.camel.util.CastUtils; */ public class JndiContext implements Context, Serializable { public static final String SEPARATOR = "/"; - protected static final NameParser NAME_PARSER = new NameParser() { - public Name parse(String name) throws NamingException { - return new CompositeName(name); - } - }; + protected static final NameParser NAME_PARSER = CompositeName::new; private static final @Serial long serialVersionUID = -5754338187296859149L; private final Hashtable<String, Object> environment; // environment for this context diff --git a/core/camel-support/src/main/java/org/apache/camel/support/management/MBeanInfoAssembler.java b/core/camel-support/src/main/java/org/apache/camel/support/management/MBeanInfoAssembler.java index e3b7496e1d2..1b20013b10e 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/management/MBeanInfoAssembler.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/management/MBeanInfoAssembler.java @@ -190,16 +190,14 @@ public class MBeanInfoAssembler implements Service { } // and then any additional interfaces (as interfaces can be annotated as well) - if (managedClass.getInterfaces() != null) { - for (Class<?> clazz : managedClass.getInterfaces()) { - // recursive as there may be multiple interfaces - if (clazz.getName().startsWith("java")) { - // skip any JDK classes - continue; - } - LOG.trace("Extracting attributes and operations from implemented interface: {}", clazz); - doExtractAttributesAndOperations(clazz, attributes, operations); + for (Class<?> clazz : managedClass.getInterfaces()) { + // recursive as there may be multiple interfaces + if (clazz.getName().startsWith("java")) { + // skip any JDK classes + continue; } + LOG.trace("Extracting attributes and operations from implemented interface: {}", clazz); + doExtractAttributesAndOperations(clazz, attributes, operations); } } diff --git a/core/camel-support/src/main/java/org/apache/camel/support/processor/CamelLogProcessor.java b/core/camel-support/src/main/java/org/apache/camel/support/processor/CamelLogProcessor.java index 184a74df126..d6c9ec0192d 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/processor/CamelLogProcessor.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/processor/CamelLogProcessor.java @@ -62,7 +62,6 @@ public class CamelLogProcessor extends AsyncProcessorSupport implements IdAware, public CamelLogProcessor(CamelLogger logger, ExchangeFormatter formatter, MaskingFormatter maskingFormatter, Set<LogListener> listeners) { - this.formatter = new ToStringExchangeFormatter(); this.logger = logger; this.formatter = formatter; this.maskingFormatter = maskingFormatter; diff --git a/core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingAdvice.java b/core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingAdvice.java index ffab631c857..4e1d9933f6e 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingAdvice.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingAdvice.java @@ -523,16 +523,13 @@ public class RestBindingAdvice extends ServiceSupport implements CamelInternalPr } } else { // we could not bind - if (bindingMode.equals("auto")) { + if (bindingMode.contains("xml")) { + exchange.setException(new CamelExchangeException( + "Cannot bind to xml as message body is not xml compatible", exchange)); + } else if (!bindingMode.equals("auto")) { // okay for auto we do not mind if we could not bind - } else { - if (bindingMode.contains("xml")) { - exchange.setException(new CamelExchangeException( - "Cannot bind to xml as message body is not xml compatible", exchange)); - } else { - exchange.setException(new CamelExchangeException( - "Cannot bind to json as message body is not json compatible", exchange)); - } + exchange.setException(new CamelExchangeException( + "Cannot bind to json as message body is not json compatible", exchange)); } } } catch (Exception e) { diff --git a/core/camel-support/src/main/java/org/apache/camel/support/resume/AdapterHelper.java b/core/camel-support/src/main/java/org/apache/camel/support/resume/AdapterHelper.java index 7ecb10596e2..3f9acbb160d 100644 --- a/core/camel-support/src/main/java/org/apache/camel/support/resume/AdapterHelper.java +++ b/core/camel-support/src/main/java/org/apache/camel/support/resume/AdapterHelper.java @@ -63,7 +63,7 @@ public final class AdapterHelper { final ResumeStrategyConfiguration resumeStrategyConfiguration = resumeStrategy.getResumeStrategyConfiguration(); final ResumeCache<?> resumeCache = resumeStrategyConfiguration.getResumeCache(); - if (resumeStrategyConfiguration != null && resumeCache != null) { + if (resumeCache != null) { cacheableAdapter.setCache(resumeCache); } else { LOG.error("No cache was provided in the configuration for the cacheable resume adapter {}", diff --git a/core/camel-util/src/main/java/org/apache/camel/util/CamelURIParser.java b/core/camel-util/src/main/java/org/apache/camel/util/CamelURIParser.java index 3a6b4899f66..8c6530c5db2 100644 --- a/core/camel-util/src/main/java/org/apache/camel/util/CamelURIParser.java +++ b/core/camel-util/src/main/java/org/apache/camel/util/CamelURIParser.java @@ -97,10 +97,6 @@ public final class CamelURIParser { } } - if (pathStart == 0 && schemeEnd != 0) { - // skip colon - pathStart = schemeEnd + 1; - } // invalid if there is no path anyway if (pathStart >= len) { return null; diff --git a/core/camel-util/src/main/java/org/apache/camel/util/FileUtil.java b/core/camel-util/src/main/java/org/apache/camel/util/FileUtil.java index a5df404576f..c5babf65459 100644 --- a/core/camel-util/src/main/java/org/apache/camel/util/FileUtil.java +++ b/core/camel-util/src/main/java/org/apache/camel/util/FileUtil.java @@ -324,17 +324,16 @@ public final class FileUtil { Deque<String> stack = new ArrayDeque<>(); // separator can either be windows or unix style - String separatorRegex = "\\\\|/"; + String separatorRegex = "[\\\\/]"; String[] parts = path.split(separatorRegex); for (String part : parts) { if (part.equals("..") && !stack.isEmpty() && !"..".equals(stack.peek())) { // only pop if there is a previous path, which is not a ".." path either stack.pop(); - } else if (part.equals(".") || part.isEmpty()) { - // do nothing because we don't want a path like foo/./bar or foo//bar - } else { + } else if (!part.equals(".") && !part.isEmpty()) { stack.push(part); } + // else do nothing because we don't want a path like foo/./bar or foo//bar } // build path based on stack diff --git a/core/camel-util/src/main/java/org/apache/camel/util/HostUtils.java b/core/camel-util/src/main/java/org/apache/camel/util/HostUtils.java index 81426e5410c..eb2f4253877 100644 --- a/core/camel-util/src/main/java/org/apache/camel/util/HostUtils.java +++ b/core/camel-util/src/main/java/org/apache/camel/util/HostUtils.java @@ -88,13 +88,13 @@ public final class HostUtils { private static InetAddress chooseAddress() throws UnknownHostException { Set<InetAddress> addresses = getAddresses(); if (addresses.contains(InetAddress.getLocalHost())) { - //Then if local host address is not bound to a loop-back interface, use it. + // if local host address is not bound to a loop-back interface, use it return InetAddress.getLocalHost(); - } else if (addresses != null && !addresses.isEmpty()) { - //else return the first available addrress - return addresses.toArray(new InetAddress[0])[0]; + } else if (!addresses.isEmpty()) { + // else return the first available address + return addresses.iterator().next(); } else { - //else we are forcedt to use the localhost address. + // else we are forced to use the localhost address. return InetAddress.getLocalHost(); } } diff --git a/core/camel-util/src/main/java/org/apache/camel/util/IOHelper.java b/core/camel-util/src/main/java/org/apache/camel/util/IOHelper.java index 6556a8c89df..925cc7cb32a 100644 --- a/core/camel-util/src/main/java/org/apache/camel/util/IOHelper.java +++ b/core/camel-util/src/main/java/org/apache/camel/util/IOHelper.java @@ -785,7 +785,7 @@ public final class IOHelper { StringBuilder result = new StringBuilder(); try (Stream<String> lines = Files.lines(path)) { lines - .filter(l -> stripBlankLines ? !l.isBlank() : true) + .filter(l -> !stripBlankLines || !l.isBlank()) .filter(line -> !line.startsWith(commentPrefix)) .forEach(line -> result.append(line).append('\n')); } catch (IOException e) { diff --git a/core/camel-util/src/main/java/org/apache/camel/util/ObjectHelper.java b/core/camel-util/src/main/java/org/apache/camel/util/ObjectHelper.java index 705b7f98cd0..bc4f3da3b6e 100644 --- a/core/camel-util/src/main/java/org/apache/camel/util/ObjectHelper.java +++ b/core/camel-util/src/main/java/org/apache/camel/util/ObjectHelper.java @@ -608,7 +608,7 @@ public final class ObjectHelper { */ public static URL loadResourceAsURL(String name, ClassLoader loader) { - URL url = null; + URL url; String resolvedName = resolveUriPath(name); // #1 First, try the given class loader diff --git a/core/camel-util/src/main/java/org/apache/camel/util/OrderedLocationProperties.java b/core/camel-util/src/main/java/org/apache/camel/util/OrderedLocationProperties.java index 3e7d97e153b..e6538d0cfea 100644 --- a/core/camel-util/src/main/java/org/apache/camel/util/OrderedLocationProperties.java +++ b/core/camel-util/src/main/java/org/apache/camel/util/OrderedLocationProperties.java @@ -53,7 +53,7 @@ public final class OrderedLocationProperties extends BaseOrderedProperties { } } - public void putAll(String location, Map<Object, Object> map) { + public void putAll(String location, Map<?, ?> map) { for (var entry : map.entrySet()) { put(location, entry.getKey(), entry.getValue()); } diff --git a/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java b/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java index 1889f8b500c..4c6c8446915 100644 --- a/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java +++ b/core/camel-util/src/main/java/org/apache/camel/util/StringHelper.java @@ -249,7 +249,7 @@ public final class StringHelper { public static boolean isClassName(String text) { if (text != null) { int lastIndexOf = text.lastIndexOf('.'); - if (lastIndexOf <= 0 || lastIndexOf == text.length()) { + if (lastIndexOf <= 0) { return false; } diff --git a/core/camel-util/src/main/java/org/apache/camel/util/StringQuoteHelper.java b/core/camel-util/src/main/java/org/apache/camel/util/StringQuoteHelper.java index 664544f60eb..e4e470d523a 100644 --- a/core/camel-util/src/main/java/org/apache/camel/util/StringQuoteHelper.java +++ b/core/camel-util/src/main/java/org/apache/camel/util/StringQuoteHelper.java @@ -120,7 +120,6 @@ public final class StringQuoteHelper { boolean singleQuoted = false; boolean doubleQuoted = false; - boolean skipLeadingWhitespace = true; for (int i = 0; i < input.length(); i++) { char ch = input.charAt(i); @@ -185,9 +184,7 @@ public final class StringQuoteHelper { } continue; } else if (!isQuoting && separator != ' ' && ch == ' ') { - if (skipLeadingWhitespace) { - continue; - } + continue; } else if (!isQuoting && ch == separator) { // add as answer if we are not in a quote if (!sb.isEmpty()) { diff --git a/core/camel-util/src/main/java/org/apache/camel/util/URISupport.java b/core/camel-util/src/main/java/org/apache/camel/util/URISupport.java index c9114a5c998..15908b52b6d 100644 --- a/core/camel-util/src/main/java/org/apache/camel/util/URISupport.java +++ b/core/camel-util/src/main/java/org/apache/camel/util/URISupport.java @@ -750,7 +750,7 @@ public final class URISupport { prev = key; } if (sort) { - final String[] array = entries.toArray(new String[entries.size()]); + final String[] array = entries.toArray(new String[0]); Arrays.sort(array); query = URISupport.createQueryString(array, parameters, true); diff --git a/core/camel-util/src/main/java/org/apache/camel/util/concurrent/SynchronousExecutorService.java b/core/camel-util/src/main/java/org/apache/camel/util/concurrent/SynchronousExecutorService.java index 3020837e99e..d64897ae8e5 100644 --- a/core/camel-util/src/main/java/org/apache/camel/util/concurrent/SynchronousExecutorService.java +++ b/core/camel-util/src/main/java/org/apache/camel/util/concurrent/SynchronousExecutorService.java @@ -41,7 +41,7 @@ public class SynchronousExecutorService extends AbstractExecutorService { @Override public List<Runnable> shutdownNow() { // not implemented - return null; + return List.of(); } @Override diff --git a/core/camel-xml-io-util/src/main/java/org/apache/camel/xml/io/util/XmlStreamReader.java b/core/camel-xml-io-util/src/main/java/org/apache/camel/xml/io/util/XmlStreamReader.java index 3cc9b37345b..16fea056326 100644 --- a/core/camel-xml-io-util/src/main/java/org/apache/camel/xml/io/util/XmlStreamReader.java +++ b/core/camel-xml-io-util/src/main/java/org/apache/camel/xml/io/util/XmlStreamReader.java @@ -80,7 +80,7 @@ public class XmlStreamReader extends Reader { private static final String CP1047 = "CP1047"; private static final Pattern CHARSET_PATTERN = Pattern.compile("charset=([.[^; ]]*)"); private static final Pattern ENCODING_PATTERN - = Pattern.compile("<\\?xml.*encoding[\\s]*=[\\s]*((?:\".[^\"]*\")|(?:'.[^']*'))", Pattern.MULTILINE); + = Pattern.compile("<\\?xml.*encoding[\\s]*=[\\s]*(\".[^\"]*\"|'.[^']*')", Pattern.MULTILINE); private static final MessageFormat RAW_EX_1 = new MessageFormat("Invalid encoding, BOM [{0}] XML guess [{1}] XML prolog [{2}] encoding mismatch"); private static final MessageFormat RAW_EX_2 diff --git a/core/camel-xml-io/src/main/java/org/apache/camel/xml/in/BaseParser.java b/core/camel-xml-io/src/main/java/org/apache/camel/xml/in/BaseParser.java index 8570efbb7c2..265525d9841 100644 --- a/core/camel-xml-io/src/main/java/org/apache/camel/xml/in/BaseParser.java +++ b/core/camel-xml-io/src/main/java/org/apache/camel/xml/in/BaseParser.java @@ -312,7 +312,7 @@ public class BaseParser { protected Element doParseDOMElement(String rootElementName, String namespace, List<Element> existing) throws XmlPullParserException, IOException { - Document doc = null; + Document doc; if (existing != null && !existing.isEmpty()) { doc = existing.get(0).getOwnerDocument(); } else { @@ -476,17 +476,17 @@ public class BaseParser { try { // Set secure processing factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, Boolean.TRUE); - } catch (ParserConfigurationException e) { + } catch (ParserConfigurationException ignore) { } try { // Disable the external-general-entities by default factory.setFeature("http://xml.org/sax/features/external-general-entities", false); - } catch (ParserConfigurationException e) { + } catch (ParserConfigurationException ignore) { } try { // Disable the external-parameter-entities by default factory.setFeature("http://xml.org/sax/features/external-parameter-entities", false); - } catch (ParserConfigurationException e) { + } catch (ParserConfigurationException ignore) { } // setup the SecurityManager by default if it's apache xerces try { @@ -496,7 +496,7 @@ public class BaseParser { // Here we just use the default setting of the SeurityManager factory.setAttribute("http://apache.org/xml/properties/security-manager", sm); } - } catch (Exception e) { + } catch (Exception ignore) { } return factory; } diff --git a/core/camel-xml-io/src/main/java/org/apache/camel/xml/io/MXParser.java b/core/camel-xml-io/src/main/java/org/apache/camel/xml/io/MXParser.java index 1a4dfe328d4..701d70876bb 100644 --- a/core/camel-xml-io/src/main/java/org/apache/camel/xml/io/MXParser.java +++ b/core/camel-xml-io/src/main/java/org/apache/camel/xml/io/MXParser.java @@ -125,7 +125,7 @@ public class MXParser implements XmlPullParser { System.err.println("TRACE_SIZING elStackSize " + elStackSize + " ==> " + newSize); } final boolean needsCopying = elStackSize > 0; - String[] arr = null; + String[] arr; // reuse arr local variable slot arr = new String[newSize]; if (needsCopying) @@ -210,7 +210,7 @@ public class MXParser implements XmlPullParser { System.err.println("TRACE_SIZING attrPosSize " + attrPosSize + " ==> " + newSize); } final boolean needsCopying = attrPosSize > 0; - String[] arr = null; + String[] arr; arr = new String[newSize]; if (needsCopying) @@ -238,8 +238,6 @@ public class MXParser implements XmlPullParser { System.arraycopy(attributeNameHash, 0, iarr, 0, attrPosSize); attributeNameHash = iarr; } - - arr = null; // //assert attrUri.length > size } } @@ -1388,7 +1386,7 @@ public class MXParser implements XmlPullParser { seenMarkup = false; boolean gotS = false; posStart = pos - 1; - final boolean normalizeIgnorableWS = tokenize == true && roundtripSupported == false; + final boolean normalizeIgnorableWS = tokenize && !roundtripSupported; boolean normalizedCR = false; while (true) { // deal with Misc @@ -1607,15 +1605,11 @@ public class MXParser implements XmlPullParser { } catch (EOFException ex) { reachedEnd = true; } - if (reachedEnd) { - if (tokenize && gotS) { - posEnd = pos; // well - this is LAST available character pos - return eventType = IGNORABLE_WHITESPACE; - } - return eventType = END_DOCUMENT; - } else { - throw new XmlPullParserException("internal error in parseEpilog"); + if (tokenize && gotS) { + posEnd = pos; // well - this is LAST available character pos + return eventType = IGNORABLE_WHITESPACE; } + return eventType = END_DOCUMENT; } public int parseEndTag() throws XmlPullParserException, IOException { @@ -1733,7 +1727,7 @@ public class MXParser implements XmlPullParser { // (pos -1) - (colonPos + 1)); pos - 2 - (colonPos - bufAbsoluteStart)); } else { - prefix = elPrefix[depth] = null; + elPrefix[depth] = null; elName[depth] = newString(buf, nameStart - bufAbsoluteStart, elLen); } } else { @@ -2050,7 +2044,7 @@ public class MXParser implements XmlPullParser { } if (processNamespaces && startsWithXmlns) { - String ns = null; + String ns; if (!usePC) { ns = newStringIntern(buf, posStart, pos - 1 - posStart); } else { @@ -2856,21 +2850,19 @@ public class MXParser implements XmlPullParser { if (bufEnd > bufSoftLimit) { // expand buffer it makes sense!!!! - boolean compact = bufStart > bufSoftLimit; - boolean expand = false; + boolean compact; if (preventBufferCompaction) { compact = false; - expand = true; - } else if (!compact) { - // freeSpace - if (bufStart < buf.length / 2) { - // less then half buffer available forcompactin --> expand - // instead!!! - expand = true; - } else { - // at least half of buffer can be reclaimed --> worthwhile - // effort!!! - compact = true; + } else { + compact = bufStart > bufSoftLimit; + if (!compact) { + // freeSpace + // if at least half of buffer can be reclaimed --> worthwhile effort!!! + if (bufStart >= buf.length / 2) { + compact = true; + } else { + // less than half buffer available for compacting --> expand instead!!! + } } } @@ -2883,11 +2875,11 @@ public class MXParser implements XmlPullParser { System.out.println("TRACE_SIZING fillBuf() compacting " + bufStart + " bufEnd=" + bufEnd + " pos=" + pos + " posStart=" + posStart + " posEnd=" + posEnd + " buf first 100 chars:" - + new String(buf, bufStart, bufEnd - bufStart < 100 ? bufEnd - bufStart : 100)); + + new String(buf, bufStart, Math.min(bufEnd - bufStart, 100))); - } else if (expand) { + } else { final int newSize = 2 * buf.length; - final char newBuf[] = new char[newSize]; + final char[] newBuf = new char[newSize]; if (TRACE_SIZING) System.out.println("TRACE_SIZING fillBuf() " + buf.length + " => " + newSize); System.arraycopy(buf, bufStart, newBuf, 0, bufEnd - bufStart); @@ -2897,8 +2889,6 @@ public class MXParser implements XmlPullParser { bufSoftLimit = (int) ((((long) bufLoadFactor) * buf.length) / 100); } - } else { - throw new XmlPullParserException("internal error in fillBuffer()"); } bufEnd -= bufStart; pos -= bufStart; diff --git a/core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/JaxbHelper.java b/core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/JaxbHelper.java index 712f2d6d4be..879c8a431f5 100644 --- a/core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/JaxbHelper.java +++ b/core/camel-xml-jaxb/src/main/java/org/apache/camel/xml/jaxb/JaxbHelper.java @@ -182,7 +182,7 @@ public final class JaxbHelper { for (int i = 0; i < attributes.getLength(); i++) { Node item = attributes.item(i); String nsPrefix = item.getNodeName(); - if (nsPrefix != null && nsPrefix.startsWith("xmlns")) { + if (nsPrefix.startsWith("xmlns")) { String nsValue = item.getNodeValue(); String[] nsParts = nsPrefix.split(":"); if (nsParts.length == 1) { @@ -642,12 +642,10 @@ public final class JaxbHelper { id = ((Element) parent).getAttribute("id"); } } - if (id != null) { - var loc = locations.get(id); - if (loc != null) { - el.setAttribute("sourceLineNumber", loc.getKey().toString()); - el.setAttribute("sourceLocation", loc.getValue()); - } + var loc = locations.get(id); + if (loc != null) { + el.setAttribute("sourceLineNumber", loc.getKey().toString()); + el.setAttribute("sourceLocation", loc.getValue()); } } if (node.hasChildNodes()) { diff --git a/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLStreamReaderInputStream.java b/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLStreamReaderInputStream.java index 0cdbbf421f6..583a74d2b02 100644 --- a/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLStreamReaderInputStream.java +++ b/core/camel-xml-jaxp/src/main/java/org/apache/camel/converter/jaxp/XMLStreamReaderInputStream.java @@ -58,7 +58,7 @@ class XMLStreamReaderInputStream extends InputStream { @Override public int read() throws IOException { byte[] ba = new byte[1]; - return read(ba, 0, 1) == 1 ? ba[0] : -1; + return read(ba, 0, 1) == 1 ? ba[0] & 0xFF : -1; } @Override diff --git a/core/camel-xml-jaxp/src/main/java/org/apache/camel/support/processor/validation/ValidatingProcessor.java b/core/camel-xml-jaxp/src/main/java/org/apache/camel/support/processor/validation/ValidatingProcessor.java index fcf23af4548..08b033e6050 100644 --- a/core/camel-xml-jaxp/src/main/java/org/apache/camel/support/processor/validation/ValidatingProcessor.java +++ b/core/camel-xml-jaxp/src/main/java/org/apache/camel/support/processor/validation/ValidatingProcessor.java @@ -31,7 +31,6 @@ import javax.xml.transform.dom.DOMResult; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.sax.SAXResult; import javax.xml.transform.sax.SAXSource; -import javax.xml.transform.stax.StAXSource; import javax.xml.transform.stream.StreamSource; import javax.xml.validation.Schema; import javax.xml.validation.SchemaFactory; @@ -118,7 +117,7 @@ public class ValidatingProcessor extends AsyncProcessorSupport { Source source = null; InputStream is = null; try { - Result result = null; + Result result; // only convert to input stream if really needed if (isInputStreamNeeded(exchange)) { is = getContentToValidate(exchange, InputStream.class); @@ -148,7 +147,7 @@ public class ValidatingProcessor extends AsyncProcessorSupport { result = new DOMResult(); } else if (source instanceof SAXSource) { result = new SAXResult(); - } else if (source instanceof StAXSource || source instanceof StreamSource) { + } else { result = null; } @@ -328,7 +327,7 @@ public class ValidatingProcessor extends AsyncProcessorSupport { * * @param exchange the current exchange * @return <tt>true</tt> to convert to {@link InputStream} beforehand converting to {@link Source} - * afterwards. + * afterward. */ protected boolean isInputStreamNeeded(Exchange exchange) { Object content = getContentToValidate(exchange);