[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"})

Reply via email to