Add error handling for OSGi classes not found

Added error handling to correctly handle case where SqlResource is
used outside an OSGi container.

Change-Id: I0b5a526b01c151c4a7924f474bf7d21e783ac260
Issue-ID: CCSDK-2625
Signed-off-by: Dan Timoney <dtimoney@att.com>
diff --git a/.gitignore b/.gitignore
index 34a96c1..cc576b7 100755
--- a/.gitignore
+++ b/.gitignore
@@ -10,6 +10,7 @@
 maven-eclipse.xml
 workspace
 .checkstyle
+.vscode
 
 ## Compilation Files ##
 *.class
diff --git a/sql-resource/provider/src/main/java/org/onap/ccsdk/sli/adaptors/resource/sql/SqlResource.java b/sql-resource/provider/src/main/java/org/onap/ccsdk/sli/adaptors/resource/sql/SqlResource.java
index 69965d1..435bc5b 100755
--- a/sql-resource/provider/src/main/java/org/onap/ccsdk/sli/adaptors/resource/sql/SqlResource.java
+++ b/sql-resource/provider/src/main/java/org/onap/ccsdk/sli/adaptors/resource/sql/SqlResource.java
@@ -355,28 +355,36 @@
             return(dblibSvc);
         }
         // Try to get dblib as an OSGI service
-        BundleContext bctx = null;
-        ServiceReference sref = null;
 
-        Bundle bundle = FrameworkUtil.getBundle(SqlResource.class);
-
-        if (bundle != null) {
-            bctx = bundle.getBundleContext();
-        }
-
-        if (bctx != null) {
-            sref = bctx.getServiceReference(DBLIB_SERVICE);
-        }
-
-        if (sref == null) {
-            LOG.warn("Could not find service reference for DBLIB service (" + DBLIB_SERVICE + ")");
-        } else {
-            dblibSvc = (DbLibService) bctx.getService(sref);
-            if (dblibSvc == null) {
-                LOG.warn("Could not find service reference for DBLIB service (" + DBLIB_SERVICE + ")");
+        try {
+            BundleContext bctx = null;
+            ServiceReference sref = null;
+    
+    
+    
+            Bundle bundle = FrameworkUtil.getBundle(SqlResource.class);
+    
+            if (bundle != null) {
+                bctx = bundle.getBundleContext();
             }
+    
+            if (bctx != null) {
+                sref = bctx.getServiceReference(DBLIB_SERVICE);
+            }
+    
+            if (sref == null) {
+                LOG.warn("Could not find service reference for DBLIB service (" + DBLIB_SERVICE + ")");
+            } else {
+                dblibSvc = (DbLibService) bctx.getService(sref);
+                if (dblibSvc == null) {
+                    LOG.warn("Could not find service reference for DBLIB service (" + DBLIB_SERVICE + ")");
+                }
+            }
+        } catch (NoClassDefFoundError ex) {
+            LOG.info("OSGI classes not found - must be running outside an OSGi container");
         }
 
+
         if (dblibSvc == null) {
             // Must not be running in an OSGI container. See if you can load it
             // as a
@@ -386,7 +394,8 @@
             // be the properties passed to DBResourceManager constructor.
             // If not, as default just use system properties.
             Properties dblibProps = System.getProperties();
-            String cfgDir = System.getenv("SDNC_CONFIG_DIR");
+
+            String cfgDir = dblibProps.getProperty("sdnc.config.dir", System.getenv("SDNC_CONFIG_DIR"));
 
             if ((cfgDir == null) || (cfgDir.length() == 0)) {
                 cfgDir = "/opt/sdnc/data/properties";
@@ -395,10 +404,11 @@
             File dblibPropFile = new File(cfgDir + "/dblib.properties");
             if (dblibPropFile.exists()) {
                 try {
+                    LOG.debug("Loading dblib properties from {}", dblibPropFile.getAbsolutePath());
                     dblibProps = new Properties();
                     dblibProps.load(new FileInputStream(dblibPropFile));
                 } catch (Exception e) {
-                    LOG.warn("Could not load properties file " + dblibPropFile.getAbsolutePath(), e);
+                    LOG.warn("Could not load properties file {}", dblibPropFile.getAbsolutePath(), e);
 
                     dblibProps = System.getProperties();
                 }