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 2020/08/11 14:05:51 UTC
[camel] 02/02: CAMEL-14297: Introduce RouteBuilderConfigurer
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
commit ca7f8ea52f4706e1a6bcbcb2a0031844f05e5ba5
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Tue Aug 11 16:05:05 2020 +0200
CAMEL-14297: Introduce RouteBuilderConfigurer
---
.../java/org/apache/camel/main/DefaultRoutesCollector.java | 14 ++++++++++++++
...utesCollectorTest.java => MainRouteConfigurerTest.java} | 14 ++++----------
.../org/apache/camel/main/MainRoutesCollectorTest.java | 1 +
3 files changed, 19 insertions(+), 10 deletions(-)
diff --git a/core/camel-main/src/main/java/org/apache/camel/main/DefaultRoutesCollector.java b/core/camel-main/src/main/java/org/apache/camel/main/DefaultRoutesCollector.java
index 65fbdef..ebe5444 100644
--- a/core/camel-main/src/main/java/org/apache/camel/main/DefaultRoutesCollector.java
+++ b/core/camel-main/src/main/java/org/apache/camel/main/DefaultRoutesCollector.java
@@ -27,6 +27,8 @@ import org.apache.camel.CamelContext;
import org.apache.camel.ExtendedCamelContext;
import org.apache.camel.RoutesBuilder;
import org.apache.camel.RuntimeCamelException;
+import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.builder.RouteBuilderConfigurer;
import org.apache.camel.model.RouteTemplatesDefinition;
import org.apache.camel.model.RoutesDefinition;
import org.apache.camel.model.rest.RestsDefinition;
@@ -51,6 +53,18 @@ public class DefaultRoutesCollector implements RoutesCollector {
final List<RoutesBuilder> routes = new ArrayList<>();
final AntPathMatcher matcher = new AntPathMatcher();
+
+ Set<RouteBuilderConfigurer> configurers = camelContext.getRegistry().findByType(RouteBuilderConfigurer.class);
+ for (RouteBuilderConfigurer configurer : configurers) {
+ RouteBuilder rb = new RouteBuilder() {
+ @Override
+ public void configure() throws Exception {
+ configurer.accept(this);
+ }
+ };
+ routes.add(rb);
+ }
+
Set<RoutesBuilder> builders = camelContext.getRegistry().findByType(RoutesBuilder.class);
for (RoutesBuilder routesBuilder : builders) {
// filter out abstract classes
diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainRoutesCollectorTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainRouteConfigurerTest.java
similarity index 83%
copy from core/camel-main/src/test/java/org/apache/camel/main/MainRoutesCollectorTest.java
copy to core/camel-main/src/test/java/org/apache/camel/main/MainRouteConfigurerTest.java
index f1edae9..99d425e 100644
--- a/core/camel-main/src/test/java/org/apache/camel/main/MainRoutesCollectorTest.java
+++ b/core/camel-main/src/test/java/org/apache/camel/main/MainRouteConfigurerTest.java
@@ -17,18 +17,19 @@
package org.apache.camel.main;
import org.apache.camel.CamelContext;
-import org.apache.camel.builder.RouteBuilder;
+import org.apache.camel.builder.RouteBuilderConfigurer;
import org.apache.camel.component.mock.MockEndpoint;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
-public class MainRoutesCollectorTest {
+
+public class MainRouteConfigurerTest {
@Test
public void testMainRoutesCollector() throws Exception {
Main main = new Main();
- main.bind("myBarRoute", new MyRouteBuilder());
+ main.bind("myBarRoute", (RouteBuilderConfigurer) rb -> rb.from("direct:start").to("mock:results"));
main.start();
CamelContext camelContext = main.getCamelContext();
@@ -45,11 +46,4 @@ public class MainRoutesCollectorTest {
main.stop();
}
- public static class MyRouteBuilder extends RouteBuilder {
-
- @Override
- public void configure() throws Exception {
- from("direct:start").to("mock:results");
- }
- }
}
diff --git a/core/camel-main/src/test/java/org/apache/camel/main/MainRoutesCollectorTest.java b/core/camel-main/src/test/java/org/apache/camel/main/MainRoutesCollectorTest.java
index f1edae9..b7a4009 100644
--- a/core/camel-main/src/test/java/org/apache/camel/main/MainRoutesCollectorTest.java
+++ b/core/camel-main/src/test/java/org/apache/camel/main/MainRoutesCollectorTest.java
@@ -23,6 +23,7 @@ import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
+
public class MainRoutesCollectorTest {
@Test