[CAMEL-10611] Fix namespace handlers to behave well under aries.bp.core 1.7.1
(cherry picked from commit e8976d1384dea61ebaeaf93911ef34d81e69a938) Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/4d936e3a Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/4d936e3a Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/4d936e3a Branch: refs/heads/camel-2.18.x Commit: 4d936e3a22855af88d55a244427a3fd37d892171 Parents: 4dd963d Author: Grzegorz Grzybek <[email protected]> Authored: Fri Feb 24 09:16:17 2017 +0100 Committer: Grzegorz Grzybek <[email protected]> Committed: Fri Feb 24 09:19:07 2017 +0100 ---------------------------------------------------------------------- .../camel/blueprint/handler/CamelNamespaceHandler.java | 5 ++++- .../transport/blueprint/CamelTransportNameSpaceHandler.java | 9 ++++++--- .../camel/component/cxf/blueprint/CxfNamespaceHandler.java | 9 ++++++--- 3 files changed, 16 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/4d936e3a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/handler/CamelNamespaceHandler.java ---------------------------------------------------------------------- diff --git a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/handler/CamelNamespaceHandler.java b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/handler/CamelNamespaceHandler.java index 3bd6433..321b163 100644 --- a/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/handler/CamelNamespaceHandler.java +++ b/components/camel-blueprint/src/main/java/org/apache/camel/blueprint/handler/CamelNamespaceHandler.java @@ -173,7 +173,10 @@ public class CamelNamespaceHandler implements NamespaceHandler { } public URL getSchemaLocation(String namespace) { - return getClass().getClassLoader().getResource("camel-blueprint.xsd"); + if (BLUEPRINT_NS.equals(namespace)) { + return getClass().getClassLoader().getResource("camel-blueprint.xsd"); + } + return null; } @SuppressWarnings({"unchecked", "rawtypes"}) http://git-wip-us.apache.org/repos/asf/camel/blob/4d936e3a/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/blueprint/CamelTransportNameSpaceHandler.java ---------------------------------------------------------------------- diff --git a/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/blueprint/CamelTransportNameSpaceHandler.java b/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/blueprint/CamelTransportNameSpaceHandler.java index 6ed9988..e9a4b5c 100644 --- a/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/blueprint/CamelTransportNameSpaceHandler.java +++ b/components/camel-cxf-transport/src/main/java/org/apache/camel/component/cxf/transport/blueprint/CamelTransportNameSpaceHandler.java @@ -24,8 +24,8 @@ import java.util.Set; import org.w3c.dom.Element; import org.w3c.dom.Node; -import org.apache.aries.blueprint.NamespaceHandler; import org.apache.aries.blueprint.ParserContext; +import org.apache.cxf.helpers.BaseNamespaceHandler; import org.osgi.service.blueprint.reflect.ComponentMetadata; import org.osgi.service.blueprint.reflect.Metadata; @@ -33,7 +33,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -public class CamelTransportNameSpaceHandler implements NamespaceHandler { +public class CamelTransportNameSpaceHandler extends BaseNamespaceHandler { private static final Logger LOG = LoggerFactory.getLogger(CamelTransportNameSpaceHandler.class); public ComponentMetadata decorate(Node node, ComponentMetadata componentMetadata, ParserContext parserContext) { @@ -46,7 +46,10 @@ public class CamelTransportNameSpaceHandler implements NamespaceHandler { } public URL getSchemaLocation(String s) { - return getClass().getClassLoader().getResource("schema/blueprint/camel.xsd"); + if ("http://cxf.apache.org/transports/camel/blueprint".equals(s)) { + return getClass().getClassLoader().getResource("schema/blueprint/camel.xsd"); + } + return super.findCoreSchemaLocation(s); } @Override http://git-wip-us.apache.org/repos/asf/camel/blob/4d936e3a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/CxfNamespaceHandler.java ---------------------------------------------------------------------- diff --git a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/CxfNamespaceHandler.java b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/CxfNamespaceHandler.java index b5d64a4..89dee36 100644 --- a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/CxfNamespaceHandler.java +++ b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/blueprint/CxfNamespaceHandler.java @@ -25,8 +25,8 @@ import java.util.Set; import org.w3c.dom.Element; import org.w3c.dom.Node; -import org.apache.aries.blueprint.NamespaceHandler; import org.apache.aries.blueprint.ParserContext; +import org.apache.cxf.helpers.BaseNamespaceHandler; import org.osgi.service.blueprint.reflect.ComponentMetadata; import org.osgi.service.blueprint.reflect.Metadata; import org.slf4j.Logger; @@ -34,11 +34,14 @@ import org.slf4j.LoggerFactory; -public class CxfNamespaceHandler implements NamespaceHandler { +public class CxfNamespaceHandler extends BaseNamespaceHandler { private static final Logger LOG = LoggerFactory.getLogger(CxfNamespaceHandler.class); public URL getSchemaLocation(String s) { - return getClass().getClassLoader().getResource("schema/blueprint/camel-cxf.xsd"); + if ("http://camel.apache.org/schema/blueprint/cxf".equals(s)) { + return getClass().getClassLoader().getResource("schema/blueprint/camel-cxf.xsd"); + } + return super.findCoreSchemaLocation(s); } @SuppressWarnings({"rawtypes"})
