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 2018/02/26 12:57:08 UTC

[camel] 01/02: CAMEL-12047: Allow to resolve JSonSchemaResolver from registry

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 0ff8be276e3d002d05e459e7f0909bea1400508b
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Feb 26 13:55:55 2018 +0100

    CAMEL-12047: Allow to resolve JSonSchemaResolver from registry
---
 .../apache/camel/runtimecatalog/RuntimeCamelCatalog.java   | 14 ++++++++++++++
 .../camel/core/xml/AbstractCamelContextFactoryBean.java    |  6 ++++++
 2 files changed, 20 insertions(+)

diff --git a/camel-core/src/main/java/org/apache/camel/runtimecatalog/RuntimeCamelCatalog.java b/camel-core/src/main/java/org/apache/camel/runtimecatalog/RuntimeCamelCatalog.java
index 86c4b53..7f382f8 100644
--- a/camel-core/src/main/java/org/apache/camel/runtimecatalog/RuntimeCamelCatalog.java
+++ b/camel-core/src/main/java/org/apache/camel/runtimecatalog/RuntimeCamelCatalog.java
@@ -26,6 +26,20 @@ import org.apache.camel.StaticService;
  */
 public interface RuntimeCamelCatalog extends StaticService {
 
+    // configuration
+
+    /**
+     * Gets the {@link JSonSchemaResolver}.
+     */
+    JSonSchemaResolver getJSonSchemaResolver();
+
+    /**
+     * To use a custom {@link JSonSchemaResolver}
+     */
+    void setJSonSchemaResolver(JSonSchemaResolver resolver);
+
+    // functions
+
     /**
      * Returns the component information as JSon format.
      *
diff --git a/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java b/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
index 71386ae..87101bb 100644
--- a/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
+++ b/components/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
@@ -84,6 +84,7 @@ import org.apache.camel.processor.interceptor.BacklogTracer;
 import org.apache.camel.processor.interceptor.HandleFault;
 import org.apache.camel.processor.interceptor.TraceFormatter;
 import org.apache.camel.processor.interceptor.Tracer;
+import org.apache.camel.runtimecatalog.JSonSchemaResolver;
 import org.apache.camel.spi.AsyncProcessorAwaitManager;
 import org.apache.camel.spi.ClassResolver;
 import org.apache.camel.spi.Debugger;
@@ -269,6 +270,11 @@ public abstract class AbstractCamelContextFactoryBean<T extends ModelCamelContex
             LOG.info("Using custom HeadersMapFactory: {}", headersMapFactory);
             getContext().setHeadersMapFactory(headersMapFactory);
         }
+        JSonSchemaResolver jsonSchemaResolver = getBeanForType(JSonSchemaResolver.class);
+        if (jsonSchemaResolver != null) {
+            LOG.info("Using custom JSonSchemaResolver: {}", jsonSchemaResolver);
+            getContext().getRuntimeCamelCatalog().setJSonSchemaResolver(jsonSchemaResolver);
+        }
         // custom type converters defined as <bean>s
         Map<String, TypeConverters> typeConverters = getContext().getRegistry().findByTypeWithName(TypeConverters.class);
         if (typeConverters != null && !typeConverters.isEmpty()) {

-- 
To stop receiving notification emails like this one, please contact
davsclaus@apache.org.