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