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 2015/03/02 11:03:39 UTC

camel git commit: Fixed CS

Repository: camel
Updated Branches:
  refs/heads/master 1ba5a6bc3 -> 5bd1f5af7


Fixed CS


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/5bd1f5af
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/5bd1f5af
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/5bd1f5af

Branch: refs/heads/master
Commit: 5bd1f5af713d85d8194ada65a0c44145ef73df54
Parents: 1ba5a6b
Author: Claus Ibsen <da...@apache.org>
Authored: Mon Mar 2 11:04:51 2015 +0100
Committer: Claus Ibsen <da...@apache.org>
Committed: Mon Mar 2 11:04:51 2015 +0100

----------------------------------------------------------------------
 .../apache/camel/scr/internal/ScrHelper.java    | 76 +++++++++++---------
 1 file changed, 42 insertions(+), 34 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/5bd1f5af/components/camel-scr/src/main/java/org/apache/camel/scr/internal/ScrHelper.java
----------------------------------------------------------------------
diff --git a/components/camel-scr/src/main/java/org/apache/camel/scr/internal/ScrHelper.java b/components/camel-scr/src/main/java/org/apache/camel/scr/internal/ScrHelper.java
index f6a3d8d..3d5842b 100644
--- a/components/camel-scr/src/main/java/org/apache/camel/scr/internal/ScrHelper.java
+++ b/components/camel-scr/src/main/java/org/apache/camel/scr/internal/ScrHelper.java
@@ -37,9 +37,6 @@ import org.w3c.dom.NodeList;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-// CHECKSTYLE:OFF
-// turn off checkstyle as it fails internally
-
 /**
  * Helper class.
  */
@@ -56,38 +53,10 @@ public final class ScrHelper {
 
     public static Map<String, String> getScrProperties(String xmlLocation, String componentName) throws Exception {
         Map<String, String> result = new HashMap<String, String>();
+
         final Document dom = readXML(new File(xmlLocation));
         final XPath xPath = XPathFactory.newInstance(XPathFactory.DEFAULT_OBJECT_MODEL_URI, "com.sun.org.apache.xpath.internal.jaxp.XPathFactoryImpl", null).newXPath();
-        xPath.setNamespaceContext(new NamespaceContext() {
-            @Override
-            public String getNamespaceURI(String prefix) {
-                switch (prefix) {
-                    case "scr":
-                        try {
-                            XPathExpression scrNamespace = xPath.compile("/*/namespace::*[name()='scr']");
-                            Node node = (Node) scrNamespace.evaluate(dom, XPathConstants.NODE);
-                            return node.getNodeValue();
-                        } catch (XPathExpressionException e) {
-                            // ignore
-                            LOG.debug("Error evaluating xpath to obtain namespace prefix. This exception is ignored and using namespace: http://www.osgi.org/xmlns/scr/v1.1.0", e);
-                        }
-                        return "http://www.osgi.org/xmlns/scr/v1.1.0";
-                    default:
-                        // noop
-                }
-                return XMLConstants.NULL_NS_URI;
-            }
-
-            @Override
-            public String getPrefix(String namespaceURI) {
-                return null;
-            }
-
-            @Override
-            public Iterator<String> getPrefixes(String namespaceURI) {
-                return null;
-            }
-        });
+        xPath.setNamespaceContext(new ScrNamespaceContext(dom, xPath));
 
         String propertyListExpression = String.format("/components/scr:component[@name='%s']/property", componentName);
         XPathExpression propertyList = xPath.compile(propertyListExpression);
@@ -108,6 +77,45 @@ public final class ScrHelper {
         return builder.parse(xml);
     }
 
+    private static final class ScrNamespaceContext implements NamespaceContext {
+
+        private final Document dom;
+        private final XPath xPath;
+
+        private ScrNamespaceContext(Document dom, XPath xPath) {
+            this.dom = dom;
+            this.xPath = xPath;
+        }
+
+        @Override
+        public String getNamespaceURI(String prefix) {
+            switch (prefix) {
+            case "scr":
+                try {
+                    XPathExpression scrNamespace = xPath.compile("/*/namespace::*[name()='scr']");
+                    Node node = (Node) scrNamespace.evaluate(dom, XPathConstants.NODE);
+                    return node.getNodeValue();
+                } catch (XPathExpressionException e) {
+                    // ignore
+                    LOG.debug("Error evaluating xpath to obtain namespace prefix. This exception is ignored and using namespace: http://www.osgi.org/xmlns/scr/v1.1.0", e);
+                }
+                return "http://www.osgi.org/xmlns/scr/v1.1.0";
+            default:
+                // noop
+            }
+            return XMLConstants.NULL_NS_URI;
+        }
+
+        @Override
+        public String getPrefix(String namespaceURI) {
+            return null;
+        }
+
+        @Override
+        public Iterator<String> getPrefixes(String namespaceURI) {
+            return null;
+        }
+    }
+
 }
-// CHECKSTYLE:ON