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 2021/05/14 11:31:48 UTC

[camel] branch main updated (c494984 -> 0c41393)

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

davsclaus pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git.


    from c494984  CAMEL-16465 - Camel-AWS: Add useDefaultCredentialProvider option to all the components - Lambda Component
     new a19bd13  CAMEL-16614: camel-core - Generated type converter should support CamelContext as method parameter
     new 0c41393  CAMEL-16614: camel-core - Generated type converter should support CamelContext as method parameter

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/converter/CamelBaseBulkConverterLoader.java      |  2 +-
 .../java/org/apache/camel/converter/ObjectConverter.java   |  8 ++++----
 .../maven/packaging/TypeConverterLoaderGeneratorMojo.java  | 14 +++++++++++++-
 3 files changed, 18 insertions(+), 6 deletions(-)

[camel] 01/02: CAMEL-16614: camel-core - Generated type converter should support CamelContext as method parameter

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

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit a19bd1349a0dffabaf4ea16763e31eda63412d20
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Fri May 14 13:21:52 2021 +0200

    CAMEL-16614: camel-core - Generated type converter should support CamelContext as method parameter
---
 .../maven/packaging/TypeConverterLoaderGeneratorMojo.java  | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/TypeConverterLoaderGeneratorMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/TypeConverterLoaderGeneratorMojo.java
index 24a2129..f5def2d 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/TypeConverterLoaderGeneratorMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/TypeConverterLoaderGeneratorMojo.java
@@ -515,9 +515,21 @@ public class TypeConverterLoaderGeneratorMojo extends AbstractGeneratorMojo {
             converterClasses.add(converter.declaringClass().toString());
             pfx = "get" + converter.declaringClass().simpleName() + "()." + converter.name();
         }
+
+        // the 2nd parameter is optional and can either be Exchange or CamelContext
+        String param = "";
+        String paramType
+                = converter.parameters().size() == 2 ? converter.parameters().get(1).asClassType().name().toString() : null;
+        if (paramType != null) {
+            if ("org.apache.camel.Exchange".equals(paramType)) {
+                param = ", exchange";
+            } else if ("org.apache.camel.CamelContext".equals(paramType)) {
+                param = ", camelContext";
+            }
+        }
         String type = toString(converter.parameters().get(0));
         String cast = type.equals("java.lang.Object") ? "" : "(" + type + ") ";
-        return pfx + "(" + cast + "value" + (converter.parameters().size() == 2 ? ", exchange" : "") + ")";
+        return pfx + "(" + cast + "value" + param + ")";
     }
 
     private String toJavaFallback(MethodInfo converter, Set<String> converterClasses) {

[camel] 02/02: CAMEL-16614: camel-core - Generated type converter should support CamelContext as method parameter

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

davsclaus pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 0c413935c9f182cfa86da4a470a290d69e536190
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Fri May 14 13:30:06 2021 +0200

    CAMEL-16614: camel-core - Generated type converter should support CamelContext as method parameter
---
 .../org/apache/camel/converter/CamelBaseBulkConverterLoader.java  | 2 +-
 .../src/main/java/org/apache/camel/converter/ObjectConverter.java | 8 ++++----
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/core/camel-base/src/generated/java/org/apache/camel/converter/CamelBaseBulkConverterLoader.java b/core/camel-base/src/generated/java/org/apache/camel/converter/CamelBaseBulkConverterLoader.java
index f57b57a..678d1fe 100644
--- a/core/camel-base/src/generated/java/org/apache/camel/converter/CamelBaseBulkConverterLoader.java
+++ b/core/camel-base/src/generated/java/org/apache/camel/converter/CamelBaseBulkConverterLoader.java
@@ -197,7 +197,7 @@ public final class CamelBaseBulkConverterLoader implements TypeConverterLoader,
             }
         } else if (to == java.lang.Class.class) {
             if (value instanceof java.lang.String) {
-                return org.apache.camel.converter.ObjectConverter.toClass((java.lang.String) value, exchange);
+                return org.apache.camel.converter.ObjectConverter.toClass((java.lang.String) value, camelContext);
             }
         } else if (to == java.lang.Double.class || to == double.class) {
             if (value instanceof java.lang.Number) {
diff --git a/core/camel-base/src/main/java/org/apache/camel/converter/ObjectConverter.java b/core/camel-base/src/main/java/org/apache/camel/converter/ObjectConverter.java
index 5cbb113..8b6873b 100644
--- a/core/camel-base/src/main/java/org/apache/camel/converter/ObjectConverter.java
+++ b/core/camel-base/src/main/java/org/apache/camel/converter/ObjectConverter.java
@@ -19,8 +19,8 @@ package org.apache.camel.converter;
 import java.math.BigInteger;
 import java.util.Iterator;
 
+import org.apache.camel.CamelContext;
 import org.apache.camel.Converter;
-import org.apache.camel.Exchange;
 import org.apache.camel.support.ObjectHelper;
 
 /**
@@ -117,10 +117,10 @@ public final class ObjectConverter {
      * Returns the converted value, or null if the value is null
      */
     @Converter(order = 11)
-    public static Class<?> toClass(String value, Exchange exchange) {
+    public static Class<?> toClass(String value, CamelContext camelContext) {
         // prefer to use class resolver API
-        if (exchange != null) {
-            return exchange.getContext().getClassResolver().resolveClass(value);
+        if (camelContext != null) {
+            return camelContext.getClassResolver().resolveClass(value);
         } else {
             return org.apache.camel.util.ObjectHelper.loadClass(value);
         }