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) {