SONAR suggestion - generic exceptions

Replace uses of generic RuntimeException
with more appropriate unchecked exceptions

Change-Id: If283743c2cf7252b8d280bdb788708ebbe57da9d
diff --git a/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/Controller.java b/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/Controller.java
index e9a1f64..acd1c7b 100644
--- a/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/Controller.java
+++ b/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/Controller.java
@@ -129,7 +129,7 @@
             cg.add(serverChannel);
             log.info("Listening for Peer connection on {}", sa);
         } catch (Exception e) {
-            throw new RuntimeException(e);
+            throw new IllegalStateException(e);
         }
     }
 
diff --git a/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/Controller.java b/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/Controller.java
index 6deadfd..e8dc9f0 100644
--- a/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/Controller.java
+++ b/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/Controller.java
@@ -206,7 +206,7 @@
      * @param json posted json
      * @return list of processes configured
      */
-    private List<IsisProcess> getConfig(JsonNode json) throws Exception {
+    private List<IsisProcess> getConfig(JsonNode json) {
         List<IsisProcess> isisProcessesList = new ArrayList<>();
         JsonNode jsonNodes = json;
         if (jsonNodes == null) {
diff --git a/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/lsdb/IsisLspQueueConsumer.java b/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/lsdb/IsisLspQueueConsumer.java
index a43f424..ddee647 100644
--- a/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/lsdb/IsisLspQueueConsumer.java
+++ b/protocols/isis/ctl/src/main/java/org/onosproject/isis/controller/impl/lsdb/IsisLspQueueConsumer.java
@@ -82,7 +82,7 @@
      *
      * @param wrapper LSP wrapper instance
      */
-    private void processRefreshLsp(LspWrapper wrapper) throws Exception {
+    private void processRefreshLsp(LspWrapper wrapper) {
         if (wrapper.isSelfOriginated()) { //self originated
             DefaultIsisInterface isisInterface = (DefaultIsisInterface) wrapper.isisInterface();
             Channel channel = isisInterface.channel();
diff --git a/protocols/isis/isisio/src/main/java/org/onosproject/isis/io/isispacket/IsisMessageReader.java b/protocols/isis/isisio/src/main/java/org/onosproject/isis/io/isispacket/IsisMessageReader.java
index c1d5f81..09cac03 100644
--- a/protocols/isis/isisio/src/main/java/org/onosproject/isis/io/isispacket/IsisMessageReader.java
+++ b/protocols/isis/isisio/src/main/java/org/onosproject/isis/io/isispacket/IsisMessageReader.java
@@ -105,7 +105,7 @@
      * @return ISIS header
      * @throws Exception
      */
-    private IsisHeader getIsisHeader(ChannelBuffer channelBuffer) throws Exception {
+    private IsisHeader getIsisHeader(ChannelBuffer channelBuffer) {
 
         IsisHeader isisHeader = new IsisHeader();
         isisHeader.setIrpDiscriminator(channelBuffer.readByte());
diff --git a/protocols/lisp/ctl/src/main/java/org/onosproject/lisp/ctl/impl/LispControllerBootstrap.java b/protocols/lisp/ctl/src/main/java/org/onosproject/lisp/ctl/impl/LispControllerBootstrap.java
index 9b05097..8e6bcf9 100644
--- a/protocols/lisp/ctl/src/main/java/org/onosproject/lisp/ctl/impl/LispControllerBootstrap.java
+++ b/protocols/lisp/ctl/src/main/java/org/onosproject/lisp/ctl/impl/LispControllerBootstrap.java
@@ -70,8 +70,8 @@
                 f.sync();
             }
 
-        } catch (Exception e) {
-            throw new RuntimeException(e);
+        } catch (InterruptedException e) {
+            Thread.currentThread().interrupt();
         }
     }
 
diff --git a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/authentication/LispMacAuthentication.java b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/authentication/LispMacAuthentication.java
index a6af0b6..20a2f2a 100644
--- a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/authentication/LispMacAuthentication.java
+++ b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/authentication/LispMacAuthentication.java
@@ -75,10 +75,10 @@
             return mac.doFinal(data);
         } catch (NoSuchAlgorithmException e) {
             log.warn(NOT_SUPPORT_ALGORITHM_MSG, algorithm, e.getMessage());
-            throw new RuntimeException(e);
+            throw new IllegalStateException(e);
         } catch (InvalidKeyException e) {
             log.warn(INVALID_KEY_MSG, key, e.getMessage());
-            throw new RuntimeException(e);
+            throw new IllegalArgumentException(e);
         }
     }
 }
diff --git a/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/ctl/impl/NetconfStreamThread.java b/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/ctl/impl/NetconfStreamThread.java
index a11af4e..e80e214 100644
--- a/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/ctl/impl/NetconfStreamThread.java
+++ b/protocols/netconf/ctl/src/main/java/org/onosproject/netconf/ctl/impl/NetconfStreamThread.java
@@ -293,7 +293,7 @@
             }
         } catch (IOException e) {
             log.warn("Error in reading from the session for device {} ", netconfDeviceInfo, e);
-            throw new RuntimeException(new NetconfException("Error in reading from the session for device {}" +
+            throw new IllegalStateException(new NetconfException("Error in reading from the session for device {}" +
                     netconfDeviceInfo, e));
             //TODO should we send a socket closed message to listeners ?
         }
diff --git a/protocols/openflow/ctl/src/main/java/org/onosproject/openflow/controller/impl/Controller.java b/protocols/openflow/ctl/src/main/java/org/onosproject/openflow/controller/impl/Controller.java
index 99f47f8..578dae0 100644
--- a/protocols/openflow/ctl/src/main/java/org/onosproject/openflow/controller/impl/Controller.java
+++ b/protocols/openflow/ctl/src/main/java/org/onosproject/openflow/controller/impl/Controller.java
@@ -18,7 +18,6 @@
 
 import com.google.common.base.Strings;
 import com.google.common.collect.ImmutableList;
-
 import io.netty.bootstrap.ServerBootstrap;
 import io.netty.channel.ChannelOption;
 import io.netty.channel.EventLoopGroup;
@@ -29,7 +28,6 @@
 import io.netty.channel.nio.NioEventLoopGroup;
 import io.netty.channel.socket.nio.NioServerSocketChannel;
 import io.netty.util.concurrent.GlobalEventExecutor;
-
 import org.onlab.util.ItemNotFoundException;
 import org.onosproject.net.DeviceId;
 import org.onosproject.net.driver.DefaultDriverData;
@@ -50,9 +48,15 @@
 import javax.net.ssl.SSLContext;
 import javax.net.ssl.TrustManagerFactory;
 import java.io.FileInputStream;
+import java.io.IOException;
 import java.lang.management.ManagementFactory;
 import java.lang.management.RuntimeMXBean;
+import java.security.KeyManagementException;
 import java.security.KeyStore;
+import java.security.KeyStoreException;
+import java.security.NoSuchAlgorithmException;
+import java.security.UnrecoverableKeyException;
+import java.security.cert.CertificateException;
 import java.util.Dictionary;
 import java.util.HashMap;
 import java.util.List;
@@ -147,7 +151,6 @@
      */
     public void run() {
 
-        try {
             final ServerBootstrap bootstrap = createServerBootStrap();
             bootstrap.option(ChannelOption.SO_REUSEADDR, true);
             bootstrap.childOption(ChannelOption.SO_KEEPALIVE, true);
@@ -164,10 +167,6 @@
                 log.info("Listening for switch connections on {}", port);
             });
 
-        } catch (Exception e) {
-            throw new RuntimeException(e);
-        }
-
     }
 
     private ServerBootstrap createServerBootStrap() {
@@ -236,13 +235,9 @@
 
         cg = new DefaultChannelGroup(GlobalEventExecutor.INSTANCE);
 
-        try {
-            getTlsParameters();
-            if (enableOfTls) {
-                initSsl();
-            }
-        } catch (Exception ex) {
-            log.error("SSL init failed: {}", ex.getMessage());
+        getTlsParameters();
+        if (enableOfTls) {
+            initSsl();
         }
     }
 
@@ -274,19 +269,24 @@
         }
     }
 
-    private void initSsl() throws Exception {
-        TrustManagerFactory tmFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
-        KeyStore ts = KeyStore.getInstance("JKS");
-        ts.load(new FileInputStream(tsLocation), tsPwd);
-        tmFactory.init(ts);
+    private void initSsl() {
+        try {
+            TrustManagerFactory tmFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm());
+            KeyStore ts = KeyStore.getInstance("JKS");
+            ts.load(new FileInputStream(tsLocation), tsPwd);
+            tmFactory.init(ts);
 
-        KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
-        KeyStore ks = KeyStore.getInstance("JKS");
-        ks.load(new FileInputStream(ksLocation), ksPwd);
-        kmf.init(ks, ksPwd);
+            KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
+            KeyStore ks = KeyStore.getInstance("JKS");
+            ks.load(new FileInputStream(ksLocation), ksPwd);
+            kmf.init(ks, ksPwd);
 
-        sslContext = SSLContext.getInstance("TLS");
-        sslContext.init(kmf.getKeyManagers(), tmFactory.getTrustManagers(), null);
+            sslContext = SSLContext.getInstance("TLS");
+            sslContext.init(kmf.getKeyManagers(), tmFactory.getTrustManagers(), null);
+        } catch (NoSuchAlgorithmException | KeyStoreException | CertificateException |
+                IOException | KeyManagementException | UnrecoverableKeyException ex) {
+            log.error("SSL init failed: {}", ex.getMessage());
+        }
     }
 
     // **************
diff --git a/protocols/openflow/ctl/src/main/java/org/onosproject/openflow/controller/impl/OFChannelHandler.java b/protocols/openflow/ctl/src/main/java/org/onosproject/openflow/controller/impl/OFChannelHandler.java
index 414bd89..a9455b6 100644
--- a/protocols/openflow/ctl/src/main/java/org/onosproject/openflow/controller/impl/OFChannelHandler.java
+++ b/protocols/openflow/ctl/src/main/java/org/onosproject/openflow/controller/impl/OFChannelHandler.java
@@ -1357,9 +1357,9 @@
         return getSwitchInfoString();
     }
 
-    protected void channelIdle(ChannelHandlerContext ctx,
+    private void channelIdle(ChannelHandlerContext ctx,
                                IdleStateEvent e)
-            throws Exception {
+            throws IOException {
         OFMessage m = factory.buildEchoRequest().build();
         log.debug("Sending Echo Request on idle channel: {}",
                   ctx.channel());
diff --git a/protocols/openflow/ctl/src/main/java/org/onosproject/openflow/controller/impl/OFMessageEncoder.java b/protocols/openflow/ctl/src/main/java/org/onosproject/openflow/controller/impl/OFMessageEncoder.java
index 4c875ac..c541a9b 100644
--- a/protocols/openflow/ctl/src/main/java/org/onosproject/openflow/controller/impl/OFMessageEncoder.java
+++ b/protocols/openflow/ctl/src/main/java/org/onosproject/openflow/controller/impl/OFMessageEncoder.java
@@ -56,7 +56,7 @@
     @Override
     public void write(ChannelHandlerContext ctx,
                       Object msg,
-                      ChannelPromise promise) throws Exception {
+                      ChannelPromise promise) {
 
         ByteBuf buf = null;
         try {
diff --git a/protocols/ospf/api/src/main/java/org/onosproject/ospf/controller/OspfArea.java b/protocols/ospf/api/src/main/java/org/onosproject/ospf/controller/OspfArea.java
index f4e8255..a66160d 100644
--- a/protocols/ospf/api/src/main/java/org/onosproject/ospf/controller/OspfArea.java
+++ b/protocols/ospf/api/src/main/java/org/onosproject/ospf/controller/OspfArea.java
@@ -16,7 +16,6 @@
 package org.onosproject.ospf.controller;
 
 import org.onlab.packet.Ip4Address;
-import org.onosproject.ospf.exceptions.OspfParseException;
 
 import java.util.List;
 
@@ -200,9 +199,8 @@
      *
      * @param ospfLsa       LSA instance
      * @param ospfInterface interface instance
-     * @throws OspfParseException might throws exception
      */
-    void addLsa(OspfLsa ospfLsa, OspfInterface ospfInterface) throws OspfParseException;
+    void addLsa(OspfLsa ospfLsa, OspfInterface ospfInterface);
 
     /**
      * Sets router sequence number for router LSA.
diff --git a/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/Controller.java b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/Controller.java
index c85e22a..f7f596c 100644
--- a/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/Controller.java
+++ b/protocols/pcep/server/ctl/src/main/java/org/onosproject/pcep/server/impl/Controller.java
@@ -205,7 +205,7 @@
             cg.add(bootstrap.bind(sa));
             log.debug("Listening for PCC connection on {}", sa);
         } catch (Exception e) {
-            throw new RuntimeException(e);
+            throw new IllegalStateException(e);
         }
     }