[CAMEL-10611] Fix namespace handlers to behave well under aries.bp.core 1.7.1
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/e8976d13 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/e8976d13 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/e8976d13 Branch: refs/heads/master Commit: e8976d1384dea61ebaeaf93911ef34d81e69a938 Parents: d23e1f5 Author: Grzegorz Grzybek <[email protected]> Authored: Fri Feb 24 09:16:17 2017 +0100 Committer: Grzegorz Grzybek <[email protected]> Committed: Fri Feb 24 09:16:17 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/e8976d13/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 a4801f1..fde7d7e 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({"rawtypes"}) http://git-wip-us.apache.org/repos/asf/camel/blob/e8976d13/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 e0c36c3..72672f2 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/e8976d13/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"})
