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


The following commit(s) were added to refs/heads/main by this push:
     new 50e20ca  camel-catalog - Fix language validator classloading from 
external editors such as IDEA camel tooling
50e20ca is described below

commit 50e20ca0efcdef1c7a382b045ab5974485109058
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Wed Apr 28 08:41:23 2021 +0200

    camel-catalog - Fix language validator classloading from external editors 
such as IDEA camel tooling
---
 .../java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java  | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git 
a/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
 
b/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
index be601f1..73d9c6c 100644
--- 
a/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
+++ 
b/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
@@ -38,7 +38,6 @@ import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
-import org.apache.camel.CamelContext;
 import org.apache.camel.catalog.ConfigurationPropertiesValidationResult;
 import org.apache.camel.catalog.EndpointValidationResult;
 import org.apache.camel.catalog.JSonSchemaResolver;
@@ -1308,15 +1307,18 @@ public abstract class AbstractCamelCatalog {
         Object context = null;
         Object instance = null;
         Class<?> clazz = null;
+
         try {
             // need a simple camel context for the simple language parser to 
be able to parse
             clazz = 
classLoader.loadClass("org.apache.camel.impl.engine.SimpleCamelContext");
             context = 
clazz.getDeclaredConstructor(boolean.class).newInstance(false);
             clazz = 
classLoader.loadClass("org.apache.camel.language.simple.SimpleLanguage");
             instance = clazz.getDeclaredConstructor().newInstance();
-            instance.getClass().getMethod("setCamelContext", 
CamelContext.class).invoke(instance, context);
+            clazz = classLoader.loadClass("org.apache.camel.CamelContext");
+            instance.getClass().getMethod("setCamelContext", 
clazz).invoke(instance, context);
         } catch (Exception e) {
-            // ignore
+            clazz = null;
+            answer.setError(e.getMessage());
         }
 
         if (clazz != null && context != null && instance != null) {

Reply via email to