You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2023/08/21 11:55:40 UTC
[camel] 01/14: CAMEL-19765: camel-core - SPI for DumpRouteStrategy.
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch ds
in repository https://gitbox.apache.org/repos/asf/camel.git
commit 6ddbcc01a416163c9f7a9a9178f51a72e141acfe
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sat Aug 19 07:42:58 2023 +0200
CAMEL-19765: camel-core - SPI for DumpRouteStrategy.
---
.../org/apache/camel/spi/DumpRoutesStrategy.java | 36 +++++
.../camel/impl/engine/AbstractCamelContext.java | 4 +
.../impl/engine/BaseExecutorServiceManager.java | 4 +-
.../camel/impl/engine/SimpleCamelContext.java | 34 +++++
.../camel/impl/DefaultDumpRoutesStrategy.java | 154 +++++++++++++++++++++
.../services/org/apache/camel/default-dump-routes | 2 +
.../org/apache/camel/impl/DefaultCamelContext.java | 117 +---------------
.../camel/builder/FluentProducerTemplateTest.java | 4 +-
.../apache/camel/builder/NotifyBuilderTest.java | 3 +-
.../catalog/CustomEndpointUriFactoryTest.java | 3 +-
.../bean/BeanInfoAMoreComplexOverloadedTest.java | 1 -
.../bean/BeanInfoWithBridgedMethodTest.java | 9 +-
.../component/bean/BeanProxyNoBindingTest.java | 2 +-
.../component/bean/BeanRefMethodNotFoundTest.java | 2 +-
.../camel/processor/async/MyAsyncComponent.java | 1 -
.../java/org/apache/camel/util/ObjectHelper.java | 1 -
.../java/org/apache/camel/util/StringHelper.java | 7 +-
17 files changed, 251 insertions(+), 133 deletions(-)
diff --git a/core/camel-api/src/main/java/org/apache/camel/spi/DumpRoutesStrategy.java b/core/camel-api/src/main/java/org/apache/camel/spi/DumpRoutesStrategy.java
new file mode 100644
index 00000000000..d03695f9bcd
--- /dev/null
+++ b/core/camel-api/src/main/java/org/apache/camel/spi/DumpRoutesStrategy.java
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.spi;
+
+/**
+ * Strategy for dumping routes during startup dump all loaded routes (incl rests and route templates).
+ */
+public interface DumpRoutesStrategy {
+
+ /**
+ * Service factory key.
+ */
+ String FACTORY = "dump-routes";
+
+ /**
+ * Dump routes
+ *
+ * @param format xml or yaml
+ */
+ void dumpRoutes(String format);
+
+}
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 c92234628a6..1b18b86631e 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
@@ -101,6 +101,7 @@ import org.apache.camel.spi.DataType;
import org.apache.camel.spi.Debugger;
import org.apache.camel.spi.DebuggerFactory;
import org.apache.camel.spi.DeferServiceFactory;
+import org.apache.camel.spi.DumpRoutesStrategy;
import org.apache.camel.spi.EndpointRegistry;
import org.apache.camel.spi.EndpointStrategy;
import org.apache.camel.spi.EventNotifier;
@@ -385,6 +386,7 @@ public abstract class AbstractCamelContext extends BaseService
camelContextExtension.lazyAddContextPlugin(DeferServiceFactory.class, this::createDeferServiceFactory);
camelContextExtension.lazyAddContextPlugin(AnnotationBasedProcessorFactory.class,
this::createAnnotationBasedProcessorFactory);
+ camelContextExtension.lazyAddContextPlugin(DumpRoutesStrategy.class, this::createDumpRoutesStrategy);
}
protected static <T> T lookup(CamelContext context, String ref, Class<T> type) {
@@ -4064,6 +4066,8 @@ public abstract class AbstractCamelContext extends BaseService
protected abstract RuntimeCamelCatalog createRuntimeCamelCatalog();
+ protected abstract DumpRoutesStrategy createDumpRoutesStrategy();
+
protected abstract Tracer createTracer();
protected abstract LanguageResolver createLanguageResolver();
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/BaseExecutorServiceManager.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/BaseExecutorServiceManager.java
index ea7f8c8a482..529483f5ba0 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/BaseExecutorServiceManager.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/BaseExecutorServiceManager.java
@@ -476,8 +476,8 @@ public class BaseExecutorServiceManager extends ServiceSupport implements Execut
}
} catch (Exception e) {
// only log if something goes wrong as we want to shutdown them all
- LOG.warn("Error occurred during shutdown of ExecutorService: {}. This exception will be ignored.",
- executorService, e);
+ LOG.warn("Error occurred during shutdown of ExecutorService: {}. This exception will be ignored.",
+ executorService, e);
}
}
}
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SimpleCamelContext.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SimpleCamelContext.java
index 6bc6a1437a8..be963980977 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SimpleCamelContext.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/SimpleCamelContext.java
@@ -47,6 +47,7 @@ import org.apache.camel.spi.ComponentResolver;
import org.apache.camel.spi.ConfigurerResolver;
import org.apache.camel.spi.DataFormatResolver;
import org.apache.camel.spi.DeferServiceFactory;
+import org.apache.camel.spi.DumpRoutesStrategy;
import org.apache.camel.spi.EndpointRegistry;
import org.apache.camel.spi.ExchangeFactory;
import org.apache.camel.spi.ExchangeFactoryManager;
@@ -90,6 +91,7 @@ import org.apache.camel.spi.UnitOfWorkFactory;
import org.apache.camel.spi.UriFactoryResolver;
import org.apache.camel.spi.UuidGenerator;
import org.apache.camel.spi.ValidatorRegistry;
+import org.apache.camel.support.CamelContextHelper;
import org.apache.camel.support.DefaultRegistry;
import org.apache.camel.support.DefaultUuidGenerator;
import org.apache.camel.support.NormalizedUri;
@@ -410,6 +412,38 @@ public class SimpleCamelContext extends AbstractCamelContext {
}
}
+ @Override
+ protected DumpRoutesStrategy createDumpRoutesStrategy() {
+ // any custom in registry
+ DumpRoutesStrategy answer = CamelContextHelper.findSingleByType(this, DumpRoutesStrategy.class);
+ if (answer != null) {
+ return answer;
+ }
+
+ // is there any custom which we prioritize over default
+ Optional<DumpRoutesStrategy> result = ResolverHelper.resolveService(
+ getCamelContextReference(),
+ getBootstrapFactoryFinder(),
+ DumpRoutesStrategy.FACTORY,
+ DumpRoutesStrategy.class);
+
+ if (result.isEmpty()) {
+ // lookup default factory
+ result = ResolverHelper.resolveService(
+ getCamelContextReference(),
+ getBootstrapFactoryFinder(),
+ "default-" + DumpRoutesStrategy.FACTORY,
+ DumpRoutesStrategy.class);
+ }
+
+ if (result.isPresent()) {
+ return result.get();
+ } else {
+ throw new IllegalArgumentException(
+ "Cannot find DumpRoutesStrategy on classpath. Add camel-core-engine to classpath.");
+ }
+ }
+
@Override
protected CamelContextNameStrategy createCamelContextNameStrategy() {
return new DefaultCamelContextNameStrategy();
diff --git a/core/camel-core-engine/src/generated/java/org/apache/camel/impl/DefaultDumpRoutesStrategy.java b/core/camel-core-engine/src/generated/java/org/apache/camel/impl/DefaultDumpRoutesStrategy.java
new file mode 100644
index 00000000000..f007b6ab0bc
--- /dev/null
+++ b/core/camel-core-engine/src/generated/java/org/apache/camel/impl/DefaultDumpRoutesStrategy.java
@@ -0,0 +1,154 @@
+package org.apache.camel.impl;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.CamelContextAware;
+import org.apache.camel.model.Model;
+import org.apache.camel.model.RouteTemplatesDefinition;
+import org.apache.camel.model.RoutesDefinition;
+import org.apache.camel.model.rest.RestsDefinition;
+import org.apache.camel.spi.DumpRoutesStrategy;
+import org.apache.camel.spi.ModelToXMLDumper;
+import org.apache.camel.spi.ModelToYAMLDumper;
+import org.apache.camel.spi.annotations.JdkService;
+import org.apache.camel.support.PluginHelper;
+import org.apache.camel.util.StringHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * Default {@link DumpRoutesStrategy} that dumps the routes to standard logger.
+ */
+@JdkService("default-" + DumpRoutesStrategy.FACTORY)
+public class DefaultDumpRoutesStrategy implements DumpRoutesStrategy, CamelContextAware {
+
+ private static final Logger LOG = LoggerFactory.getLogger(DefaultDumpRoutesStrategy.class);
+
+ private CamelContext camelContext;
+
+ @Override
+ public CamelContext getCamelContext() {
+ return camelContext;
+ }
+
+ @Override
+ public void setCamelContext(CamelContext camelContext) {
+ this.camelContext = camelContext;
+ }
+
+ @Override
+ public void dumpRoutes(String format) {
+ if ("yaml".equalsIgnoreCase(format)) {
+ doDumpRoutesAsYaml(camelContext);
+ } else if ("xml".equalsIgnoreCase(format)) {
+ doDumpRoutesAsXml(camelContext);
+ }
+ }
+
+ protected void onDump(String dump) {
+ LOG.info("\n\n{}\n", dump);
+ }
+
+ protected void doDumpRoutesAsYaml(CamelContext camelContext) {
+ final ModelToYAMLDumper dumper = PluginHelper.getModelToYAMLDumper(camelContext);
+ final Model model = camelContext.getCamelContextExtension().getContextPlugin(Model.class);
+
+ int size = model.getRouteDefinitions().size();
+ if (size > 0) {
+ LOG.info("Dumping {} routes as YAML", size);
+ RoutesDefinition def = new RoutesDefinition();
+ def.setRoutes(model.getRouteDefinitions());
+ try {
+ String dump = dumper.dumpModelAsYaml(camelContext, def, true, false);
+ onDump(dump);
+ } catch (Exception e) {
+ LOG.warn("Error dumping routes to YAML due to {}. This exception is ignored.", e.getMessage(), e);
+ }
+ }
+
+ size = model.getRestDefinitions().size();
+ if (size > 0) {
+ LOG.info("Dumping {} rests as YAML", size);
+ RestsDefinition def = new RestsDefinition();
+ def.setRests(model.getRestDefinitions());
+ try {
+ String dump = dumper.dumpModelAsYaml(camelContext, def, true, false);
+ onDump(dump);
+ } catch (Exception e) {
+ LOG.warn("Error dumping rests to YAML due to {}. This exception is ignored.", e.getMessage(), e);
+ }
+ }
+
+ size = model.getRouteTemplateDefinitions().size();
+ if (size > 0) {
+ LOG.info("Dumping {} route templates as YAML", size);
+ RouteTemplatesDefinition def = new RouteTemplatesDefinition();
+ def.setRouteTemplates(model.getRouteTemplateDefinitions());
+ try {
+ String dump = dumper.dumpModelAsYaml(camelContext, def, true, false);
+ onDump(dump);
+ } catch (Exception e) {
+ LOG.warn("Error dumping route-templates to YAML due to {}. This exception is ignored.", e.getMessage(), e);
+ }
+ }
+ }
+
+ protected void doDumpRoutesAsXml(CamelContext camelContext) {
+ final ModelToXMLDumper dumper = PluginHelper.getModelToXMLDumper(camelContext);
+ final Model model = camelContext.getCamelContextExtension().getContextPlugin(Model.class);
+
+ int size = model.getRouteDefinitions().size();
+ if (size > 0) {
+ LOG.info("Dumping {} routes as XML", size);
+ // for XML to output nicely all routes in one XML then lets put them into <routes>
+ RoutesDefinition def = new RoutesDefinition();
+ def.setRoutes(model.getRouteDefinitions());
+ try {
+ String xml = dumper.dumpModelAsXml(camelContext, def, true);
+ // lets separate routes with empty line
+ xml = StringHelper.replaceFirst(xml, "xmlns=\"http://camel.apache.org/schema/spring\">",
+ "xmlns=\"http://camel.apache.org/schema/spring\">\n");
+ xml = xml.replace("</route>", "</route>\n");
+ onDump(xml);
+ } catch (Exception e) {
+ LOG.warn("Error dumping routes to XML due to {}. This exception is ignored.", e.getMessage(), e);
+ }
+ }
+
+ size = model.getRestDefinitions().size();
+ if (size > 0) {
+ LOG.info("Dumping {} rests as XML", size);
+ // for XML to output nicely all routes in one XML then lets put them into <routes>
+ RestsDefinition def = new RestsDefinition();
+ def.setRests(model.getRestDefinitions());
+ try {
+ String xml = dumper.dumpModelAsXml(camelContext, def, true);
+ // lets separate rests with empty line
+ xml = StringHelper.replaceFirst(xml, "xmlns=\"http://camel.apache.org/schema/spring\">",
+ "xmlns=\"http://camel.apache.org/schema/spring\">\n");
+ xml = xml.replace("</rest>", "</rest>\n");
+ onDump(xml);
+ } catch (Exception e) {
+ LOG.warn("Error dumping rests to XML due to {}. This exception is ignored.", e.getMessage(), e);
+ }
+ }
+
+ size = model.getRouteTemplateDefinitions().size();
+ if (size > 0) {
+ LOG.info("Dumping {} route templates as XML", size);
+ // for XML to output nicely all routes in one XML then lets put them into <routes>
+ RouteTemplatesDefinition def = new RouteTemplatesDefinition();
+ def.setRouteTemplates(model.getRouteTemplateDefinitions());
+ try {
+ String xml = dumper.dumpModelAsXml(camelContext, def, true);
+ // lets separate rests with empty line
+ xml = StringHelper.replaceFirst(xml, "xmlns=\"http://camel.apache.org/schema/spring\">",
+ "xmlns=\"http://camel.apache.org/schema/spring\">\n");
+ xml = xml.replace("</routeTemplate>", "</routeTemplate>\n");
+ onDump(xml);
+ } catch (Exception e) {
+ LOG.warn("Error dumping route-templates to XML due to {}. This exception is ignored.", e.getMessage(), e);
+ }
+ }
+ }
+
+}
diff --git a/core/camel-core-engine/src/generated/resources/META-INF/services/org/apache/camel/default-dump-routes b/core/camel-core-engine/src/generated/resources/META-INF/services/org/apache/camel/default-dump-routes
new file mode 100644
index 00000000000..336d9abf4a8
--- /dev/null
+++ b/core/camel-core-engine/src/generated/resources/META-INF/services/org/apache/camel/default-dump-routes
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.impl.DefaultDumpRoutesStrategy
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 15a4a6165bb..268f47d6011 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
@@ -55,23 +55,19 @@ import org.apache.camel.model.RouteConfigurationDefinition;
import org.apache.camel.model.RouteDefinition;
import org.apache.camel.model.RouteDefinitionHelper;
import org.apache.camel.model.RouteTemplateDefinition;
-import org.apache.camel.model.RouteTemplatesDefinition;
-import org.apache.camel.model.RoutesDefinition;
import org.apache.camel.model.TemplatedRouteDefinition;
import org.apache.camel.model.cloud.ServiceCallConfigurationDefinition;
import org.apache.camel.model.language.ExpressionDefinition;
import org.apache.camel.model.rest.RestDefinition;
-import org.apache.camel.model.rest.RestsDefinition;
import org.apache.camel.model.transformer.TransformerDefinition;
import org.apache.camel.model.validator.ValidatorDefinition;
import org.apache.camel.spi.BeanRepository;
import org.apache.camel.spi.DataFormat;
import org.apache.camel.spi.DataType;
+import org.apache.camel.spi.DumpRoutesStrategy;
import org.apache.camel.spi.ExecutorServiceManager;
import org.apache.camel.spi.LocalBeanRepositoryAware;
import org.apache.camel.spi.ModelReifierFactory;
-import org.apache.camel.spi.ModelToXMLDumper;
-import org.apache.camel.spi.ModelToYAMLDumper;
import org.apache.camel.spi.PackageScanClassResolver;
import org.apache.camel.spi.PropertiesComponent;
import org.apache.camel.spi.Registry;
@@ -82,12 +78,10 @@ import org.apache.camel.spi.Validator;
import org.apache.camel.support.CamelContextHelper;
import org.apache.camel.support.DefaultRegistry;
import org.apache.camel.support.LocalBeanRegistry;
-import org.apache.camel.support.PluginHelper;
import org.apache.camel.support.SimpleUuidGenerator;
import org.apache.camel.util.ObjectHelper;
import org.apache.camel.util.OrderedLocationProperties;
import org.apache.camel.util.StopWatch;
-import org.apache.camel.util.StringHelper;
import org.apache.camel.util.concurrent.NamedThreadLocal;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -154,112 +148,9 @@ public class DefaultCamelContext extends SimpleCamelContext implements ModelCame
@Override
protected void doDumpRoutes() {
- if ("yaml".equalsIgnoreCase(getDumpRoutes())) {
- doDumpRoutesAsYaml();
- } else {
- // xml is default
- doDumpRoutesAsXml();
- }
- }
-
- protected void doDumpRoutesAsXml() {
- final ModelToXMLDumper dumper = PluginHelper.getModelToXMLDumper(this);
-
- int size = getRouteDefinitions().size();
- if (size > 0) {
- LOG.info("Dumping {} routes as XML", size);
- // for XML to output nicely all routes in one XML then lets put them into <routes>
- RoutesDefinition def = new RoutesDefinition();
- def.setRoutes(getRouteDefinitions());
- try {
- String xml = dumper.dumpModelAsXml(this, def, true);
- // lets separate routes with empty line
- xml = StringHelper.replaceFirst(xml, "xmlns=\"http://camel.apache.org/schema/spring\">",
- "xmlns=\"http://camel.apache.org/schema/spring\">\n");
- xml = xml.replace("</route>", "</route>\n");
- LOG.info("\n\n{}\n", xml);
- } catch (Exception e) {
- LOG.warn("Error dumping routes to XML due to {}. This exception is ignored.", e.getMessage(), e);
- }
- }
-
- size = getRestDefinitions().size();
- if (size > 0) {
- LOG.info("Dumping {} rests as XML", size);
- // for XML to output nicely all routes in one XML then lets put them into <routes>
- RestsDefinition def = new RestsDefinition();
- def.setRests(getRestDefinitions());
- try {
- String xml = dumper.dumpModelAsXml(this, def, true);
- // lets separate rests with empty line
- xml = StringHelper.replaceFirst(xml, "xmlns=\"http://camel.apache.org/schema/spring\">",
- "xmlns=\"http://camel.apache.org/schema/spring\">\n");
- xml = xml.replace("</rest>", "</rest>\n");
- LOG.info("\n\n{}\n", xml);
- } catch (Exception e) {
- LOG.warn("Error dumping rests to XML due to {}. This exception is ignored.", e.getMessage(), e);
- }
- }
-
- size = getRouteTemplateDefinitions().size();
- if (size > 0) {
- LOG.info("Dumping {} route templates as XML", size);
- // for XML to output nicely all routes in one XML then lets put them into <routes>
- RouteTemplatesDefinition def = new RouteTemplatesDefinition();
- def.setRouteTemplates(getRouteTemplateDefinitions());
- try {
- String xml = dumper.dumpModelAsXml(this, def, true);
- // lets separate rests with empty line
- xml = StringHelper.replaceFirst(xml, "xmlns=\"http://camel.apache.org/schema/spring\">",
- "xmlns=\"http://camel.apache.org/schema/spring\">\n");
- xml = xml.replace("</routeTemplate>", "</routeTemplate>\n");
- LOG.info("\n\n{}\n", xml);
- } catch (Exception e) {
- LOG.warn("Error dumping route-templates to XML due to {}. This exception is ignored.", e.getMessage(), e);
- }
- }
- }
-
- protected void doDumpRoutesAsYaml() {
- final ModelToYAMLDumper dumper = PluginHelper.getModelToYAMLDumper(this);
-
- int size = getRouteDefinitions().size();
- if (size > 0) {
- LOG.info("Dumping {} routes as YAML", size);
- RoutesDefinition def = new RoutesDefinition();
- def.setRoutes(getRouteDefinitions());
- try {
- String yaml = dumper.dumpModelAsYaml(this, def, true, false);
- LOG.info("\n\n{}\n", yaml);
- } catch (Exception e) {
- LOG.warn("Error dumping routes to YAML due to {}. This exception is ignored.", e.getMessage(), e);
- }
- }
-
- size = getRestDefinitions().size();
- if (size > 0) {
- LOG.info("Dumping {} rests as YAML", size);
- RestsDefinition def = new RestsDefinition();
- def.setRests(getRestDefinitions());
- try {
- String taml = dumper.dumpModelAsYaml(this, def, true, false);
- LOG.info("\n\n{}\n", taml);
- } catch (Exception e) {
- LOG.warn("Error dumping rests to YAML due to {}. This exception is ignored.", e.getMessage(), e);
- }
- }
-
- size = getRouteTemplateDefinitions().size();
- if (size > 0) {
- LOG.info("Dumping {} route templates as YAML", size);
- RouteTemplatesDefinition def = new RouteTemplatesDefinition();
- def.setRouteTemplates(getRouteTemplateDefinitions());
- try {
- String yaml = dumper.dumpModelAsYaml(this, def, true, false);
- LOG.info("\n\n{}\n", yaml);
- } catch (Exception e) {
- LOG.warn("Error dumping route-templates to YAML due to {}. This exception is ignored.", e.getMessage(), e);
- }
+ DumpRoutesStrategy strategy = getCamelContextExtension().getContextPlugin(DumpRoutesStrategy.class);
+ if (strategy != null) {
+ strategy.dumpRoutes(getDumpRoutes());
}
}
diff --git a/core/camel-core/src/test/java/org/apache/camel/builder/FluentProducerTemplateTest.java b/core/camel-core/src/test/java/org/apache/camel/builder/FluentProducerTemplateTest.java
index 692ee12ee40..7ef05345095 100644
--- a/core/camel-core/src/test/java/org/apache/camel/builder/FluentProducerTemplateTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/builder/FluentProducerTemplateTest.java
@@ -236,9 +236,7 @@ public class FluentProducerTemplateTest extends ContextTestSupport {
public void testExceptionUsingProcessorAndBody() {
assertThrows(IllegalArgumentException.class, () -> DefaultFluentProducerTemplate.on(context)
.withBody("World")
- .withProcessor(exchange -> exchange.getIn().setHeader("foo", 123)).
- to("direct:async").
- send(), "");
+ .withProcessor(exchange -> exchange.getIn().setHeader("foo", 123)).to("direct:async").send(), "");
}
@Test
diff --git a/core/camel-core/src/test/java/org/apache/camel/builder/NotifyBuilderTest.java b/core/camel-core/src/test/java/org/apache/camel/builder/NotifyBuilderTest.java
index c1ff1606d00..07e71dd95fc 100644
--- a/core/camel-core/src/test/java/org/apache/camel/builder/NotifyBuilderTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/builder/NotifyBuilderTest.java
@@ -978,7 +978,8 @@ public class NotifyBuilderTest extends ContextTestSupport {
template.sendBody("direct:foo", "Hello World");
assertFalse(notify.matches());
- assertThrows(CamelExecutionException.class, () -> template.sendBody("direct:fail", "Bye World"), "Should have thrown exception");
+ assertThrows(CamelExecutionException.class, () -> template.sendBody("direct:fail", "Bye World"),
+ "Should have thrown exception");
assertTrue(notify.matches());
}
diff --git a/core/camel-core/src/test/java/org/apache/camel/catalog/CustomEndpointUriFactoryTest.java b/core/camel-core/src/test/java/org/apache/camel/catalog/CustomEndpointUriFactoryTest.java
index 577c7b96646..2edb143851b 100644
--- a/core/camel-core/src/test/java/org/apache/camel/catalog/CustomEndpointUriFactoryTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/catalog/CustomEndpointUriFactoryTest.java
@@ -92,7 +92,8 @@ public class CustomEndpointUriFactoryTest extends ContextTestSupport {
IllegalArgumentException e = Assertions.assertThrows(IllegalArgumentException.class,
() -> assembler.buildUri("acme", params),
"Should have thrown an exception");
- Assertions.assertEquals("Option name is required when creating endpoint uri with syntax acme:name:port", e.getMessage());
+ Assertions.assertEquals("Option name is required when creating endpoint uri with syntax acme:name:port",
+ e.getMessage());
}
@Test
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanInfoAMoreComplexOverloadedTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanInfoAMoreComplexOverloadedTest.java
index 4aebec30b77..b82e65bfda1 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanInfoAMoreComplexOverloadedTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanInfoAMoreComplexOverloadedTest.java
@@ -73,7 +73,6 @@ public class BeanInfoAMoreComplexOverloadedTest extends ContextTestSupport {
Exchange exchange = new DefaultExchange(context);
exchange.setIn(message);
-
AmbiguousMethodCallException e = assertThrows(AmbiguousMethodCallException.class,
() -> beanInfo.createInvocation(new Bean(), exchange),
"Should have thrown an exception");
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanInfoWithBridgedMethodTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanInfoWithBridgedMethodTest.java
index 2eb151b0473..9f630da42dc 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanInfoWithBridgedMethodTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanInfoWithBridgedMethodTest.java
@@ -50,10 +50,11 @@ public class BeanInfoWithBridgedMethodTest extends ContextTestSupport {
DefaultExchange exchange = new DefaultExchange(context);
exchange.getIn().setBody(new Request(1));
- assertDoesNotThrow(() -> {MyPackagePrivateService myService = new MyPackagePrivateService();
- MethodInvocation mi = beanInfo.createInvocation(null, exchange);
- assertEquals("Service", mi.getMethod().getDeclaringClass().getSimpleName());
- assertEquals(4, mi.getMethod().invoke(myService, new Request(2)));
+ assertDoesNotThrow(() -> {
+ MyPackagePrivateService myService = new MyPackagePrivateService();
+ MethodInvocation mi = beanInfo.createInvocation(null, exchange);
+ assertEquals("Service", mi.getMethod().getDeclaringClass().getSimpleName());
+ assertEquals(4, mi.getMethod().invoke(myService, new Request(2)));
}, "This should not be ambiguous!");
}
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanProxyNoBindingTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanProxyNoBindingTest.java
index ac4e774e40c..d39956a72f5 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanProxyNoBindingTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanProxyNoBindingTest.java
@@ -111,7 +111,7 @@ public class BeanProxyNoBindingTest extends ContextTestSupport {
Endpoint endpoint = context.getEndpoint("direct:start");
OrderService service = ProxyHelper.createProxy(endpoint, false, OrderService.class);
-/* try {
+ /* try {
service.invalidReturnType("<order type=\"beer\">Carlsberg</order>");
fail("Should have thrown exception");
} catch (Exception e) {
diff --git a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanRefMethodNotFoundTest.java b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanRefMethodNotFoundTest.java
index 7595a00a362..1525c738ca2 100644
--- a/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanRefMethodNotFoundTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/component/bean/BeanRefMethodNotFoundTest.java
@@ -46,7 +46,7 @@ public class BeanRefMethodNotFoundTest extends ContextTestSupport {
});
Exception e = assertThrows(Exception.class,
- () -> context.start(),
+ () -> context.start(),
"Should have thrown exception");
FailedToCreateRouteException failed = assertIsInstanceOf(FailedToCreateRouteException.class, e);
diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/async/MyAsyncComponent.java b/core/camel-core/src/test/java/org/apache/camel/processor/async/MyAsyncComponent.java
index 2c2dadc3e83..f18f826f088 100644
--- a/core/camel-core/src/test/java/org/apache/camel/processor/async/MyAsyncComponent.java
+++ b/core/camel-core/src/test/java/org/apache/camel/processor/async/MyAsyncComponent.java
@@ -16,7 +16,6 @@
*/
package org.apache.camel.processor.async;
-import java.util.Locale;
import java.util.Map;
import org.apache.camel.Endpoint;
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 b3cee67a36a..fadc1ea22aa 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
@@ -34,7 +34,6 @@ import java.util.Collections;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.List;
-import java.util.Locale;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
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 768676a5300..6ceb325801e 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
@@ -253,7 +253,7 @@ public final class StringHelper {
return false;
}
- return Character.isUpperCase(text.charAt(lastIndexOf + 1));
+ return Character.isUpperCase(text.charAt(lastIndexOf + 1));
}
return false;
@@ -508,8 +508,8 @@ public final class StringHelper {
/**
* De-capitalize the string (lower case first character)
*
- * @param text the string
- * @return the string decapitalized (lower case first character)
+ * @param text the string
+ * @return the string decapitalized (lower case first character)
*/
public static String decapitalize(final String text) {
if (text == null) {
@@ -1048,7 +1048,6 @@ public final class StringHelper {
prev = ch;
}
-
return answer.toString();
}