You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by lb...@apache.org on 2020/03/26 08:55:32 UTC

[camel-k-runtime] branch master updated (de17d39 -> 37ed061)

This is an automated email from the ASF dual-hosted git repository.

lburgazzoli pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k-runtime.git.


    from de17d39  knative-transport-http: remove redundant class
     new 0799baa  Fix joor after switching to Java 11
     new 37ed061  Enforce plugin versions

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 camel-k-loader-java/pom.xml                        |  2 +-
 .../src/test/resources/MyRoutesWithBeans.java      |  2 +-
 camel-k-loader-kotlin/pom.xml                      |  3 +-
 camel-k-main/camel-k-runtime-main/pom.xml          |  5 ++
 .../java/org/apache/camel/k/main/RuntimeTest.java  | 36 ++++++++++++-
 .../src/test/resources/MyRoutesWithBeans.java      |  1 +
 .../src/main/java/org/apache/camel/k/Runtime.java  |  5 ++
 camel-k-runtime-knative/pom.xml                    |  8 +--
 .../knative/KnativeSourceRoutesLoaderTest.java     | 61 ++++------------------
 pom.xml                                            | 33 ++++++++++++
 10 files changed, 94 insertions(+), 62 deletions(-)
 copy camel-k-runtime-knative/src/test/resources/sources/routes.java => camel-k-loader-java/src/test/resources/MyRoutesWithBeans.java (95%)


[camel-k-runtime] 01/02: Fix joor after switching to Java 11

Posted by lb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

lburgazzoli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k-runtime.git

commit 0799baa6a8b4968c784b92f9717bc0b7726348df
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Wed Mar 25 16:38:19 2020 +0100

    Fix joor after switching to Java 11
---
 camel-k-loader-java/pom.xml                        |  2 +-
 .../src/test/resources/MyRoutesWithBeans.java      |  9 ++--
 camel-k-loader-kotlin/pom.xml                      |  3 +-
 camel-k-main/camel-k-runtime-main/pom.xml          |  5 ++
 .../java/org/apache/camel/k/main/RuntimeTest.java  | 36 ++++++++++++-
 .../src/test/resources/MyRoutesWithBeans.java      |  1 +
 .../src/main/java/org/apache/camel/k/Runtime.java  |  5 ++
 camel-k-runtime-knative/pom.xml                    |  8 +--
 .../knative/KnativeSourceRoutesLoaderTest.java     | 61 ++++------------------
 9 files changed, 64 insertions(+), 66 deletions(-)

diff --git a/camel-k-loader-java/pom.xml b/camel-k-loader-java/pom.xml
index a5d1db8..4ecdc5b 100644
--- a/camel-k-loader-java/pom.xml
+++ b/camel-k-loader-java/pom.xml
@@ -42,7 +42,7 @@
         </dependency>
         <dependency>
             <groupId>org.jooq</groupId>
-            <artifactId>joor-java-8</artifactId>
+            <artifactId>joor</artifactId>
             <version>${joor.version}</version>
         </dependency>
 
diff --git a/camel-k-main/camel-k-runtime-main/src/test/resources/MyRoutesWithBeans.java b/camel-k-loader-java/src/test/resources/MyRoutesWithBeans.java
similarity index 84%
copy from camel-k-main/camel-k-runtime-main/src/test/resources/MyRoutesWithBeans.java
copy to camel-k-loader-java/src/test/resources/MyRoutesWithBeans.java
index 530fe17..746b8e6 100644
--- a/camel-k-main/camel-k-runtime-main/src/test/resources/MyRoutesWithBeans.java
+++ b/camel-k-loader-java/src/test/resources/MyRoutesWithBeans.java
@@ -14,7 +14,6 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-
 import org.apache.camel.BindToRegistry;
 import org.apache.camel.builder.RouteBuilder;
 
@@ -22,12 +21,12 @@ public class MyRoutesWithBeans extends RouteBuilder {
     @Override
     public void configure() throws Exception {
         from("direct:start")
-            .bean("my-bean", "getName")
-            .to("log:info");
+            .setBody().simple("${header[MyHeader]}")
+            .to("log:knative");
     }
 
     @BindToRegistry("my-bean")
-    public org.apache.camel.k.main.MyBean createMyBean() {
-        return new org.apache.camel.k.main.MyBean("my-bean-name");
+    public static String myBean() {
+        return "my-bean-string";
     }
 }
\ No newline at end of file
diff --git a/camel-k-loader-kotlin/pom.xml b/camel-k-loader-kotlin/pom.xml
index 2063906..1d27cfd 100644
--- a/camel-k-loader-kotlin/pom.xml
+++ b/camel-k-loader-kotlin/pom.xml
@@ -193,7 +193,8 @@
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-surefire-plugin</artifactId>
                 <configuration>
-                    <forkCount>0</forkCount>
+                  <forkCount>1</forkCount>
+                  <reuseForks>false</reuseForks>
                 </configuration>
             </plugin>
             <plugin>
diff --git a/camel-k-main/camel-k-runtime-main/pom.xml b/camel-k-main/camel-k-runtime-main/pom.xml
index c826594..c73beb3 100644
--- a/camel-k-main/camel-k-runtime-main/pom.xml
+++ b/camel-k-main/camel-k-runtime-main/pom.xml
@@ -148,6 +148,11 @@
             <artifactId>camel-k-loader-kotlin</artifactId>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.apache.camel.k</groupId>
+            <artifactId>camel-k-runtime-knative</artifactId>
+            <scope>test</scope>
+        </dependency>
     </dependencies>
 
     <build>
diff --git a/camel-k-main/camel-k-runtime-main/src/test/java/org/apache/camel/k/main/RuntimeTest.java b/camel-k-main/camel-k-runtime-main/src/test/java/org/apache/camel/k/main/RuntimeTest.java
index b5256e5..59681e6 100644
--- a/camel-k-main/camel-k-runtime-main/src/test/java/org/apache/camel/k/main/RuntimeTest.java
+++ b/camel-k-main/camel-k-runtime-main/src/test/java/org/apache/camel/k/main/RuntimeTest.java
@@ -20,16 +20,22 @@ import java.util.List;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Route;
+import org.apache.camel.component.knative.KnativeComponent;
+import org.apache.camel.component.knative.spi.Knative;
+import org.apache.camel.component.knative.spi.KnativeEnvironment;
 import org.apache.camel.k.Runtime;
+import org.apache.camel.k.http.PlatformHttpServiceContextCustomizer;
 import org.apache.camel.k.listener.ContextConfigurer;
 import org.apache.camel.k.listener.RoutesConfigurer;
+import org.apache.camel.k.test.AvailablePortFinder;
 import org.apache.camel.model.ModelCamelContext;
-import org.apache.camel.util.CollectionHelper;
+import org.apache.camel.model.ToDefinition;
 import org.apache.camel.util.ObjectHelper;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 
+import static org.apache.camel.util.CollectionHelper.mapOf;
 import static org.assertj.core.api.Assertions.assertThat;
 
 public class RuntimeTest {
@@ -82,7 +88,7 @@ public class RuntimeTest {
 
     @Test
     void testLoadRouteWithExpression() throws Exception {
-        runtime.setProperties(CollectionHelper.mapOf(
+        runtime.setProperties(mapOf(
             "the.body", "10"
         ));
 
@@ -105,4 +111,30 @@ public class RuntimeTest {
         });
     }
 
+    @Test
+    public void testLoadJavaSourceWrap() throws Exception {
+        KnativeComponent component = new KnativeComponent();
+        component.setEnvironment(KnativeEnvironment.on(
+            KnativeEnvironment.endpoint(Knative.EndpointKind.sink, "sink", "localhost", AvailablePortFinder.getNextAvailable())
+        ));
+
+        PlatformHttpServiceContextCustomizer phsc = new PlatformHttpServiceContextCustomizer();
+        phsc.setBindPort(AvailablePortFinder.getNextAvailable());
+        phsc.apply(runtime.getCamelContext());
+
+        runtime.getCamelContext().addComponent("knative", component);
+        runtime.addListener(RoutesConfigurer.forRoutes("classpath:MyRoutesWithBeans.java?interceptors=knative-source"));
+        runtime.addListener(Runtime.Phase.Started, r ->  runtime.stop());
+        runtime.run();
+
+        assertThat(runtime.getRegistry().lookupByName("my-bean")).isInstanceOfSatisfying(MyBean.class, b -> {
+            assertThat(b).hasFieldOrPropertyWithValue("name", "my-bean-name");
+        });
+        assertThat(runtime.getCamelContext(ModelCamelContext.class).getRouteDefinition("my-route")).satisfies(definition -> {
+            assertThat(definition.getOutputs()).last().isInstanceOfSatisfying(ToDefinition.class, to -> {
+                assertThat(to.getEndpointUri()).isEqualTo("knative://endpoint/sink");
+            });
+        });
+    }
+
 }
diff --git a/camel-k-main/camel-k-runtime-main/src/test/resources/MyRoutesWithBeans.java b/camel-k-main/camel-k-runtime-main/src/test/resources/MyRoutesWithBeans.java
index 530fe17..0659a75 100644
--- a/camel-k-main/camel-k-runtime-main/src/test/resources/MyRoutesWithBeans.java
+++ b/camel-k-main/camel-k-runtime-main/src/test/resources/MyRoutesWithBeans.java
@@ -22,6 +22,7 @@ public class MyRoutesWithBeans extends RouteBuilder {
     @Override
     public void configure() throws Exception {
         from("direct:start")
+            .routeId("my-route")
             .bean("my-bean", "getName")
             .to("log:info");
     }
diff --git a/camel-k-runtime-core/src/main/java/org/apache/camel/k/Runtime.java b/camel-k-runtime-core/src/main/java/org/apache/camel/k/Runtime.java
index 3a6a65b..517d1bd 100644
--- a/camel-k-runtime-core/src/main/java/org/apache/camel/k/Runtime.java
+++ b/camel-k-runtime-core/src/main/java/org/apache/camel/k/Runtime.java
@@ -32,6 +32,11 @@ import org.apache.camel.spi.Registry;
 import static org.apache.camel.util.CollectionHelper.mapOf;
 
 public interface Runtime extends HasCamelContext {
+
+    default <T extends CamelContext> T getCamelContext(Class<T> type) {
+        return getCamelContext().adapt(type);
+    }
+
     /**
      * Returns the registry associated to this runtime.
      */
diff --git a/camel-k-runtime-knative/pom.xml b/camel-k-runtime-knative/pom.xml
index 520c0a9..ac49471 100644
--- a/camel-k-runtime-knative/pom.xml
+++ b/camel-k-runtime-knative/pom.xml
@@ -109,11 +109,6 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel</groupId>
-            <artifactId>camel-undertow</artifactId>
-            <scope>test</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.camel</groupId>
             <artifactId>camel-cloud</artifactId>
             <scope>test</scope>
         </dependency>
@@ -138,7 +133,8 @@
                 <artifactId>maven-surefire-plugin</artifactId>
                 <configuration>
                     <useSystemClassLoader>false</useSystemClassLoader>
-                    <forkCount>0</forkCount>
+                    <forkCount>1</forkCount>
+                    <resueForks>false</resueForks>
                 </configuration>
             </plugin>
         </plugins>
diff --git a/camel-k-runtime-knative/src/test/java/org/apache/camel/k/loader/knative/KnativeSourceRoutesLoaderTest.java b/camel-k-runtime-knative/src/test/java/org/apache/camel/k/loader/knative/KnativeSourceRoutesLoaderTest.java
index 6039a09..e036299 100644
--- a/camel-k-runtime-knative/src/test/java/org/apache/camel/k/loader/knative/KnativeSourceRoutesLoaderTest.java
+++ b/camel-k-runtime-knative/src/test/java/org/apache/camel/k/loader/knative/KnativeSourceRoutesLoaderTest.java
@@ -23,7 +23,6 @@ import java.util.UUID;
 import java.util.stream.Stream;
 
 import org.apache.camel.CamelContext;
-import org.apache.camel.ExtendedCamelContext;
 import org.apache.camel.RoutesBuilder;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.knative.KnativeComponent;
@@ -37,11 +36,9 @@ import org.apache.camel.k.SourceLoader;
 import org.apache.camel.k.Sources;
 import org.apache.camel.k.http.PlatformHttpServiceContextCustomizer;
 import org.apache.camel.k.listener.RoutesConfigurer;
-import org.apache.camel.k.loader.java.JavaSourceLoader;
 import org.apache.camel.k.test.AvailablePortFinder;
 import org.apache.camel.model.ModelCamelContext;
 import org.apache.camel.model.RouteDefinition;
-import org.junit.jupiter.api.Test;
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.Arguments;
 import org.junit.jupiter.params.provider.MethodSource;
@@ -69,15 +66,14 @@ public class KnativeSourceRoutesLoaderTest {
     public void testWrapLoader(String uri) throws Exception {
         LOGGER.info("uri: {}", uri);
 
-        final int port = AvailablePortFinder.getNextAvailable();
         final String data = UUID.randomUUID().toString();
+        final TestRuntime runtime = new TestRuntime();
 
         KnativeComponent component = new KnativeComponent();
         component.setEnvironment(KnativeEnvironment.on(
-            KnativeEnvironment.endpoint(Knative.EndpointKind.sink, "sink", "localhost", port)
+            KnativeEnvironment.endpoint(Knative.EndpointKind.sink, "sink", "localhost", runtime.port)
         ));
 
-        TestRuntime runtime = new TestRuntime();
 
         CamelContext context = runtime.getCamelContext();
         context.disableJMX();
@@ -95,7 +91,7 @@ public class KnativeSourceRoutesLoaderTest {
             context.addRoutes(new RouteBuilder() {
                 @Override
                 public void configure() throws Exception {
-                    fromF("undertow:http://localhost:%d", port)
+                    fromF("platform-http:/")
                         .routeId("http")
                         .to("mock:result");
                 }
@@ -128,62 +124,25 @@ public class KnativeSourceRoutesLoaderTest {
         }
     }
 
-    @Test
-    public void testWrapLoaderWithBeanRegistration() throws Exception {
-        final int port = AvailablePortFinder.getNextAvailable();
-
-        KnativeComponent component = new KnativeComponent();
-        component.setEnvironment(KnativeEnvironment.on(
-            KnativeEnvironment.endpoint(Knative.EndpointKind.sink, "sink", "localhost", port)
-        ));
-
-        TestRuntime runtime = new TestRuntime();
-
-        CamelContext context = runtime.getCamelContext();
-        context.disableJMX();
-        context.setStreamCaching(true);
-        context.addComponent("knative", component);
-
-        Source source = Sources.fromURI("classpath:sources/routes.java?name=MyRoutes.java&interceptors=knative-source");
-        SourceLoader loader = RoutesConfigurer.load(runtime, source);
-
-        assertThat(loader.getSupportedLanguages()).contains(source.getLanguage());
-        assertThat(loader).isInstanceOf(JavaSourceLoader.class);
-        assertThat(runtime.builders).hasSize(1);
-
-        try {
-            RoutesBuilder builder = runtime.builders.get(0);
-
-            context.addRoutes(builder);
-
-            context.adapt(ExtendedCamelContext.class)
-                .getBeanPostProcessor()
-                .postProcessBeforeInitialization(builder, builder.getClass().getName());
-            context.adapt(ExtendedCamelContext.class)
-                .getBeanPostProcessor()
-                .postProcessAfterInitialization(builder, builder.getClass().getName());
-
-            context.start();
-
-            assertThat(context.getRegistry().lookupByName("my-bean")).isInstanceOfSatisfying(String.class, "my-bean-string"::equals);
-        } finally {
-            context.stop();
-        }
-    }
-
     static class TestRuntime implements Runtime {
         private final CamelContext camelContext;
         private final List<RoutesBuilder> builders;
+        private final int port;
 
         public TestRuntime() {
             this.camelContext = new DefaultCamelContext();
             this.builders = new ArrayList<>();
+            this.port = AvailablePortFinder.getNextAvailable();
 
             PlatformHttpServiceContextCustomizer httpService = new PlatformHttpServiceContextCustomizer();
-            httpService.setBindPort(AvailablePortFinder.getNextAvailable());
+            httpService.setBindPort(this.port);
             httpService.apply(this.camelContext);
         }
 
+        public int getPort() {
+            return port;
+        }
+
         @Override
         public CamelContext getCamelContext() {
             return this.camelContext;


[camel-k-runtime] 02/02: Enforce plugin versions

Posted by lb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

lburgazzoli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k-runtime.git

commit 37ed0616b10a7b21a0247fa2434a9e5ae1213f26
Author: lburgazzoli <lb...@gmail.com>
AuthorDate: Thu Mar 26 08:38:44 2020 +0100

    Enforce plugin versions
---
 pom.xml | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/pom.xml b/pom.xml
index 59c5a28..10c661a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -85,6 +85,10 @@
         <build-helper-maven-plugin.version>3.1.0</build-helper-maven-plugin.version>
         <maven-jar-plugin.version>3.2.0</maven-jar-plugin.version>
         <maven-invoker-plugin.version>3.2.1</maven-invoker-plugin.version>
+        <maven-clean-plugin.version>3.1.0</maven-clean-plugin.version>
+        <maven-enforcer-plugin.version>1.4.1</maven-enforcer-plugin.version>
+        <maven-resources-plugin.version>3.1.0</maven-resources-plugin.version>
+        <maven-site-plugin.version>3.9.0</maven-site-plugin.version>
     </properties>
 
      <developers>
@@ -117,6 +121,26 @@
             <plugins>
                 <plugin>
                     <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-clean-plugin</artifactId>
+                    <version>${maven-clean-plugin.version}</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-enforcer-plugin</artifactId>
+                    <version>${maven-enforcer-plugin.version}</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-resources-plugin</artifactId>
+                    <version>${maven-resources-plugin.version}</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-site-plugin</artifactId>
+                    <version>${maven-site-plugin.version}</version>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-compiler-plugin</artifactId>
                     <version>${maven-compiler-plugin.version}</version>
                     <configuration>
@@ -135,6 +159,15 @@
                     </configuration>
                 </plugin>
                 <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-failsafe-plugin</artifactId>
+                    <version>${maven-failsafe-plugin.version}</version>
+                    <configuration>
+                        <failIfNoTests>false</failIfNoTests>
+                    </configuration>
+                </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-remote-resources-plugin</artifactId>
                     <version>${maven-remote-resources-plugin.version}</version>
                     <executions>