1.add a flag that allow igmp join/leave with out ssm translate; 2.catch the exception while configured an invalid igmp global connect point

Change-Id: Ie60e9e61f638982fc90bdef818fcd7d9bf36e082
diff --git a/src/main/java/org/opencord/igmpproxy/IgmpManager.java b/src/main/java/org/opencord/igmpproxy/IgmpManager.java
index 1b4285b..6063b96 100644
--- a/src/main/java/org/opencord/igmpproxy/IgmpManager.java
+++ b/src/main/java/org/opencord/igmpproxy/IgmpManager.java
@@ -111,6 +111,8 @@
     public static boolean connectPointMode = true;
     public static ConnectPoint connectPoint = null;
 
+    private static boolean pimSSmInterworking = false;
+    private static final String DEFAULT_PIMSSM_HOST = "127.0.0.1";
     private final ScheduledExecutorService scheduledExecutorService =
             Executors.newScheduledThreadPool(1);
     @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
@@ -296,10 +298,15 @@
                 join = true;
             }
         } else {
-            IpAddress src = ssmTranslateRoute(groupIp);
-            if (src == null) {
-                log.info("no ssm translate for group " + groupIp.toString());
-                return;
+            IpAddress src = null;
+            if (pimSSmInterworking) {
+                src = ssmTranslateRoute(groupIp);
+                if (src == null) {
+                    log.info("no ssm translate for group " + groupIp.toString());
+                    return;
+                }
+            } else {
+                src = IpAddress.valueOf(DEFAULT_PIMSSM_HOST);
             }
             sourceList.add(src.getIp4Address());
             if (recordType == IGMPMembership.CHANGE_TO_EXCLUDE_MODE ||
@@ -672,7 +679,7 @@
             igmpCos = newCfg.igmpCos();
             periodicQuery = newCfg.periodicQuery();
             fastLeave = newCfg.fastLeave();
-
+            pimSSmInterworking = newCfg.pimSsmInterworking();
             connectPoint = newCfg.connectPoint();
             if (connectPointMode != newCfg.connectPointMode()) {
                 connectPointMode = newCfg.connectPointMode();