CAMEL-7997: Fixed CS

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

Branch: refs/heads/master
Commit: 733e4cbdc818838ecc8693efc367e00b8b95ded0
Parents: 79a4717
Author: Claus Ibsen <davscl...@apache.org>
Authored: Sun Nov 9 09:18:13 2014 +0100
Committer: Claus Ibsen <davscl...@apache.org>
Committed: Sun Nov 9 09:31:30 2014 +0100

----------------------------------------------------------------------
 .../apache/camel/scr/AbstractCamelRunner.java   | 64 +++++++++++--------
 .../java/org/apache/camel/scr/ScrHelper.java    | 48 ++++++++------
 .../camel/scr/AbstractCamelRunnerTest.java      |  8 +--
 .../apache/camel/scr/ConcreteCamelRunner.java   | 66 +++++++++++++-------
 4 files changed, 117 insertions(+), 69 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/733e4cbd/components/camel-scr/src/main/java/org/apache/camel/scr/AbstractCamelRunner.java
----------------------------------------------------------------------
diff --git 
a/components/camel-scr/src/main/java/org/apache/camel/scr/AbstractCamelRunner.java
 
b/components/camel-scr/src/main/java/org/apache/camel/scr/AbstractCamelRunner.java
index f029422..e1fa67c 100644
--- 
a/components/camel-scr/src/main/java/org/apache/camel/scr/AbstractCamelRunner.java
+++ 
b/components/camel-scr/src/main/java/org/apache/camel/scr/AbstractCamelRunner.java
@@ -16,6 +16,23 @@
  */
 package org.apache.camel.scr;
 
+import java.io.File;
+import java.lang.reflect.Field;
+import java.lang.reflect.ParameterizedType;
+import java.lang.reflect.Type;
+import java.net.URI;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.concurrent.Executors;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.ScheduledFuture;
+import java.util.concurrent.TimeUnit;
+
 import org.apache.camel.CamelContext;
 import org.apache.camel.RoutesBuilder;
 import org.apache.camel.component.properties.PropertiesComponent;
@@ -31,38 +48,28 @@ import org.osgi.framework.BundleContext;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.io.File;
-import java.lang.reflect.Field;
-import java.lang.reflect.ParameterizedType;
-import java.lang.reflect.Type;
-import java.net.URI;
-import java.net.URL;
-import java.util.*;
-import java.util.concurrent.Executors;
-import java.util.concurrent.ScheduledExecutorService;
-import java.util.concurrent.ScheduledFuture;
-import java.util.concurrent.TimeUnit;
-
 public abstract class AbstractCamelRunner implements Runnable {
 
+    public static final int START_DELAY = 5000;
+    public static final String PROPERTY_PREFIX = "camel.scr.properties.prefix";
+
     protected Logger log = LoggerFactory.getLogger(getClass());
     protected ModelCamelContext context;
     protected SimpleRegistry registry = new SimpleRegistry();
 
     private ScheduledExecutorService executor = 
Executors.newSingleThreadScheduledExecutor();
     private ScheduledFuture starter;
-    private boolean activated = false;
-    private boolean started = false;
-
-    public static final int START_DELAY = 5000;
-    public static final String PROPERTY_PREFIX = "camel.scr.properties.prefix";
+    private volatile boolean activated;
+    private volatile boolean started;
 
     // Configured fields
-    public String camelContextId = "camel-runner-default";
-    public boolean active = false;
+    private String camelContextId = "camel-runner-default";
+    private volatile boolean active;
 
     public synchronized void activate(final BundleContext bundleContext, final 
Map<String, String> props) throws Exception {
-        if (activated) return;
+        if (activated) {
+            return;
+        }
         log.debug("activated!");
 
         activated = true;
@@ -84,7 +91,6 @@ public abstract class AbstractCamelRunner implements Runnable 
{
     protected void createCamelContext(final BundleContext bundleContext, final 
Map<String, String> props) {
         if (null != bundleContext) {
             context = new OsgiDefaultCamelContext(bundleContext, registry);
-            // From https://issues.jboss.org/browse/MR-911
             // Setup the application context classloader with the bundle 
classloader
             context.setApplicationContextClassLoader(new 
BundleDelegatingClassLoader(bundleContext.getBundle()));
             // and make sure the TCCL is our classloader
@@ -159,7 +165,9 @@ public abstract class AbstractCamelRunner implements 
Runnable {
     }
 
     public synchronized void deactivate() {
-        if (!activated) return;
+        if (!activated) {
+            return;
+        }
         log.debug("deactivated!");
 
         activated = false;
@@ -180,7 +188,9 @@ public abstract class AbstractCamelRunner implements 
Runnable {
     }
 
     private void startCamelContext() {
-        if (started) return;
+        if (started) {
+            return;
+        }
         try {
             if (active) {
                 context.start();
@@ -194,7 +204,9 @@ public abstract class AbstractCamelRunner implements 
Runnable {
     }
 
     private void stopCamelContext() {
-        if (!started) return;
+        if (!started) {
+            return;
+        }
         try {
             context.stop();
         } catch (Exception e) {
@@ -224,7 +236,7 @@ public abstract class AbstractCamelRunner implements 
Runnable {
     public static <T> T configure(final CamelContext context, final T target, 
final Logger log) {
         Class clazz = target.getClass();
         log.debug("Configuring " + clazz.getName());
-        Collection<Field> fields = new ArrayList<>();
+        Collection<Field> fields = new ArrayList<Field>();
         fields.addAll(Arrays.asList(clazz.getDeclaredFields()));
         fields.addAll(Arrays.asList(clazz.getFields()));
         for (Field field : fields) {
@@ -270,7 +282,7 @@ public abstract class AbstractCamelRunner implements 
Runnable {
             } else if (clazz == URL.class) {
                 return new URL(value);
             } else {
-                throw new IllegalArgumentException("Unknown type: "+ (clazz != 
null ? clazz.getName() : null));
+                throw new IllegalArgumentException("Unknown type: " + (clazz 
!= null ? clazz.getName() : null));
             }
         } else {
             return null;

http://git-wip-us.apache.org/repos/asf/camel/blob/733e4cbd/components/camel-scr/src/main/java/org/apache/camel/scr/ScrHelper.java
----------------------------------------------------------------------
diff --git 
a/components/camel-scr/src/main/java/org/apache/camel/scr/ScrHelper.java 
b/components/camel-scr/src/main/java/org/apache/camel/scr/ScrHelper.java
index aa528e8..d01d460 100644
--- a/components/camel-scr/src/main/java/org/apache/camel/scr/ScrHelper.java
+++ b/components/camel-scr/src/main/java/org/apache/camel/scr/ScrHelper.java
@@ -16,36 +16,42 @@
  */
 package org.apache.camel.scr;
 
+import java.io.File;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+import javax.xml.XMLConstants;
+import javax.xml.namespace.NamespaceContext;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.xpath.XPath;
+import javax.xml.xpath.XPathConstants;
+import javax.xml.xpath.XPathExpression;
+import javax.xml.xpath.XPathExpressionException;
+import javax.xml.xpath.XPathFactory;
+
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
 import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
 
-import javax.xml.XMLConstants;
-import javax.xml.namespace.NamespaceContext;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.xpath.*;
-import java.io.File;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
+/**
+ * Helper class.
+ */
+public final class ScrHelper {
 
-@SuppressWarnings("unused")
-public class ScrHelper {
+    private static final Logger LOG = LoggerFactory.getLogger(ScrHelper.class);
 
-    private static Logger log = LoggerFactory.getLogger(ScrHelper.class);
+    private ScrHelper() {
+    }
 
     public static Map<String, String> getScrProperties(String componentName) 
throws Exception {
         return 
getScrProperties(String.format("target/classes/OSGI-INF/%s.xml", 
componentName), componentName);
     }
 
     public static Map<String, String> getScrProperties(String xmlLocation, 
String componentName) throws Exception {
-        Map<String, String> result = new HashMap<>();
+        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() {
@@ -58,9 +64,13 @@ public class ScrHelper {
                             Node node = (Node) scrNamespace.evaluate(dom, 
XPathConstants.NODE);
                             return node.getNodeValue();
                         } catch (XPathExpressionException e) {
-                            e.printStackTrace();
+                            // 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;
             }
@@ -75,6 +85,7 @@ public class ScrHelper {
                 return null;
             }
         });
+
         String propertyListExpression = 
String.format("/components/scr:component[@name='%s']/property", componentName);
         XPathExpression propertyList = xPath.compile(propertyListExpression);
         XPathExpression propertyName = xPath.compile("@name");
@@ -87,10 +98,11 @@ public class ScrHelper {
         return result;
     }
 
-    private static Document readXML(File xml) throws 
ParserConfigurationException, SAXException, IOException {
+    private static Document readXML(File xml) throws Exception {
         DocumentBuilderFactory builderFactory = 
DocumentBuilderFactory.newInstance();
         builderFactory.setNamespaceAware(true);
         DocumentBuilder builder = builderFactory.newDocumentBuilder();
         return builder.parse(xml);
     }
+
 }

http://git-wip-us.apache.org/repos/asf/camel/blob/733e4cbd/components/camel-scr/src/test/java/org/apache/camel/scr/AbstractCamelRunnerTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-scr/src/test/java/org/apache/camel/scr/AbstractCamelRunnerTest.java
 
b/components/camel-scr/src/test/java/org/apache/camel/scr/AbstractCamelRunnerTest.java
index 15e7e49..b6d9cbd 100644
--- 
a/components/camel-scr/src/test/java/org/apache/camel/scr/AbstractCamelRunnerTest.java
+++ 
b/components/camel-scr/src/test/java/org/apache/camel/scr/AbstractCamelRunnerTest.java
@@ -16,6 +16,8 @@
  */
 package org.apache.camel.scr;
 
+import java.util.Map;
+
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -25,19 +27,17 @@ import org.junit.runners.JUnit4;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.util.Map;
-
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
 @RunWith(JUnit4.class)
 public class AbstractCamelRunnerTest {
 
-    Logger log = LoggerFactory.getLogger(getClass());
-
     @Rule
     public TestName testName = new TestName();
 
+    private Logger log = LoggerFactory.getLogger(getClass());
+
     @Before
     public void setUp() throws Exception {
         
log.info("*******************************************************************");

http://git-wip-us.apache.org/repos/asf/camel/blob/733e4cbd/components/camel-scr/src/test/java/org/apache/camel/scr/ConcreteCamelRunner.java
----------------------------------------------------------------------
diff --git 
a/components/camel-scr/src/test/java/org/apache/camel/scr/ConcreteCamelRunner.java
 
b/components/camel-scr/src/test/java/org/apache/camel/scr/ConcreteCamelRunner.java
index d85e51c..a591a2e 100644
--- 
a/components/camel-scr/src/test/java/org/apache/camel/scr/ConcreteCamelRunner.java
+++ 
b/components/camel-scr/src/test/java/org/apache/camel/scr/ConcreteCamelRunner.java
@@ -16,23 +16,35 @@
  */
 package org.apache.camel.scr;
 
-import org.apache.camel.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ThreadPoolExecutor;
+
+import org.apache.camel.CamelContext;
+import org.apache.camel.Component;
+import org.apache.camel.Endpoint;
+import org.apache.camel.ErrorHandlerFactory;
+import org.apache.camel.Processor;
+import org.apache.camel.Route;
+import org.apache.camel.RoutesBuilder;
+import org.apache.camel.Service;
+import org.apache.camel.VetoCamelContextStartException;
 import org.apache.camel.spi.LifecycleStrategy;
 import org.apache.camel.spi.RouteContext;
 import org.osgi.framework.BundleContext;
 
-import java.util.*;
-import java.util.concurrent.ThreadPoolExecutor;
-
 public class ConcreteCamelRunner extends AbstractCamelRunner implements 
LifecycleStrategy {
 
-    protected int camelContextStarted = 0;
-    protected int camelContextStopped = 0;
-    protected int routeAdded = 0;
+    protected int camelContextStarted;
+    protected int camelContextStopped;
+    protected int routeAdded;
 
     public Map<String, String> getDefaultProperties() {
         // Set default properties
-        Map<String,String> defaultProps = new HashMap<>();
+        Map<String, String> defaultProps = new HashMap<String, String>();
         defaultProps.put("camelContextId", "camel-runner-test");
         defaultProps.put("camelRouteId", "test/direct-mock");
         defaultProps.put("active", "true");
@@ -55,7 +67,7 @@ public class ConcreteCamelRunner extends AbstractCamelRunner 
implements Lifecycl
 
     @Override
     public List<RoutesBuilder> getRouteBuilders() {
-        List<RoutesBuilder> routesBuilders = new ArrayList<>();
+        List<RoutesBuilder> routesBuilders = new ArrayList<RoutesBuilder>();
         routesBuilders.add(new TestRouteBuilder());
         routesBuilders.add(new TestRouteBuilder2());
         return routesBuilders;
@@ -72,22 +84,28 @@ public class ConcreteCamelRunner extends 
AbstractCamelRunner implements Lifecycl
     }
 
     @Override
-    public void onComponentAdd(String s, Component component) {}
+    public void onComponentAdd(String s, Component component) {
+    }
 
     @Override
-    public void onComponentRemove(String s, Component component) {}
+    public void onComponentRemove(String s, Component component) {
+    }
 
     @Override
-    public void onEndpointAdd(Endpoint endpoint) {}
+    public void onEndpointAdd(Endpoint endpoint) {
+    }
 
     @Override
-    public void onEndpointRemove(Endpoint endpoint) {}
+    public void onEndpointRemove(Endpoint endpoint) {
+    }
 
     @Override
-    public void onServiceAdd(CamelContext camelContext, Service service, Route 
route) {}
+    public void onServiceAdd(CamelContext camelContext, Service service, Route 
route) {
+    }
 
     @Override
-    public void onServiceRemove(CamelContext camelContext, Service service, 
Route route) {}
+    public void onServiceRemove(CamelContext camelContext, Service service, 
Route route) {
+    }
 
     @Override
     public void onRoutesAdd(Collection<Route> routes) {
@@ -95,20 +113,26 @@ public class ConcreteCamelRunner extends 
AbstractCamelRunner implements Lifecycl
     }
 
     @Override
-    public void onRoutesRemove(Collection<Route> routes) {}
+    public void onRoutesRemove(Collection<Route> routes) {
+    }
 
     @Override
-    public void onRouteContextCreate(RouteContext routeContext) {}
+    public void onRouteContextCreate(RouteContext routeContext) {
+    }
 
     @Override
-    public void onErrorHandlerAdd(RouteContext routeContext, Processor 
processor, ErrorHandlerFactory errorHandlerFactory) {}
+    public void onErrorHandlerAdd(RouteContext routeContext, Processor 
processor, ErrorHandlerFactory errorHandlerFactory) {
+    }
 
     @Override
-    public void onErrorHandlerRemove(RouteContext routeContext, Processor 
processor, ErrorHandlerFactory errorHandlerFactory) {}
+    public void onErrorHandlerRemove(RouteContext routeContext, Processor 
processor, ErrorHandlerFactory errorHandlerFactory) {
+    }
 
     @Override
-    public void onThreadPoolAdd(CamelContext camelContext, ThreadPoolExecutor 
threadPoolExecutor, String s, String s2, String s3, String s4) {}
+    public void onThreadPoolAdd(CamelContext camelContext, ThreadPoolExecutor 
threadPoolExecutor, String s, String s2, String s3, String s4) {
+    }
 
     @Override
-    public void onThreadPoolRemove(CamelContext camelContext, 
ThreadPoolExecutor threadPoolExecutor) {}
+    public void onThreadPoolRemove(CamelContext camelContext, 
ThreadPoolExecutor threadPoolExecutor) {
+    }
 }

Reply via email to