Merge "Use Long.toString instead"
diff --git a/dblib/features/pom.xml b/dblib/features/pom.xml
index 4053efa..e3356d8 100755
--- a/dblib/features/pom.xml
+++ b/dblib/features/pom.xml
@@ -23,7 +23,7 @@
 		<dependency>
 			<groupId>commons-lang</groupId>
 			<artifactId>commons-lang</artifactId>
-			<version>2.6</version>
+			<version>${commons.lang.version}</version>
 			<scope>compile</scope>
 		</dependency>
 
diff --git a/dblib/provider/pom.xml b/dblib/provider/pom.xml
index 6d4d932..d0dc729 100755
--- a/dblib/provider/pom.xml
+++ b/dblib/provider/pom.xml
@@ -18,7 +18,7 @@
 		<dependency>
 			<groupId>junit</groupId>
 			<artifactId>junit</artifactId>
-			<version>4.11</version>
+			<version>${junit.version}</version>
 			<scope>test</scope>
 		</dependency>
 		<dependency>
diff --git a/filters/provider/pom.xml b/filters/provider/pom.xml
index e6d91c9..65f6e45 100755
--- a/filters/provider/pom.xml
+++ b/filters/provider/pom.xml
@@ -17,7 +17,7 @@
 		<dependency>
 			<groupId>junit</groupId>
 			<artifactId>junit</artifactId>
-			<version>4.11</version>
+			<version>${junit.version}</version>
 			<scope>test</scope>
 		</dependency>
                 <dependency>
diff --git a/sli/common/src/main/java/org/onap/ccsdk/sli/core/sli/SvcLogicParser.java b/sli/common/src/main/java/org/onap/ccsdk/sli/core/sli/SvcLogicParser.java
index ee192d6..a33ba47 100644
--- a/sli/common/src/main/java/org/onap/ccsdk/sli/core/sli/SvcLogicParser.java
+++ b/sli/common/src/main/java/org/onap/ccsdk/sli/core/sli/SvcLogicParser.java
@@ -385,7 +385,7 @@
             saxParser.parse(fileName, new SvcLogicHandler(graphs, store));
 
         } catch (Exception e) {
-            LOGGER.error("Parsing failed {}", e);
+            LOGGER.error("Parsing failed ", e);
             String msg = e.getMessage();
             if (msg != null) {
                 throw new SvcLogicException("Compiler error: " + fileName + " @ " + msg);
@@ -412,7 +412,7 @@
                 try {
                     SvcLogicParser.load(xmlfile, store);
                 } catch (Exception e) {
-                    LOGGER.error("Load failed {}", e);
+                    LOGGER.error("Load failed ", e);
                 }
             } else {
                 SvcLogicParser.usage();
diff --git a/sli/common/src/test/java/org/onap/ccsdk/sli/core/sli/ITCaseSvcLogicParser.java b/sli/common/src/test/java/org/onap/ccsdk/sli/core/sli/ITCaseSvcLogicParser.java
index 8bf748a..7af4c1c 100644
--- a/sli/common/src/test/java/org/onap/ccsdk/sli/core/sli/ITCaseSvcLogicParser.java
+++ b/sli/common/src/test/java/org/onap/ccsdk/sli/core/sli/ITCaseSvcLogicParser.java
@@ -96,6 +96,13 @@
 		store.registerNodeType("release");
 		store.registerNodeType("for");
 		store.registerNodeType("set");
+		store.registerNodeType("call");
+		store.registerNodeType("delete");
+		store.registerNodeType("execute");
+		store.registerNodeType("notify");
+		store.registerNodeType("save");
+		store.registerNodeType("update");
+		store.registerNodeType("break");
 	}
 
 	@Before
diff --git a/sli/features/pom.xml b/sli/features/pom.xml
index dc7a95d..11684be 100755
--- a/sli/features/pom.xml
+++ b/sli/features/pom.xml
@@ -27,7 +27,7 @@
 		<dependency>
 			<groupId>commons-lang</groupId>
 			<artifactId>commons-lang</artifactId>
-			<version>2.6</version>
+			<version>${commons.lang.version}</version>
 			<scope>compile</scope>
 		</dependency>
 
diff --git a/sli/provider/src/main/java/org/onap/ccsdk/sli/core/sli/provider/SvcLogicActivator.java b/sli/provider/src/main/java/org/onap/ccsdk/sli/core/sli/provider/SvcLogicActivator.java
index a578dc6..7c1fa8e 100644
--- a/sli/provider/src/main/java/org/onap/ccsdk/sli/core/sli/provider/SvcLogicActivator.java
+++ b/sli/provider/src/main/java/org/onap/ccsdk/sli/core/sli/provider/SvcLogicActivator.java
@@ -3,7 +3,7 @@
  * ONAP : CCSDK
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights
- * 						reserved.
+ *                         reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -28,7 +28,6 @@
 import java.util.LinkedList;
 import java.util.Map;
 import java.util.Properties;
-
 import org.onap.ccsdk.sli.core.sli.ConfigurationException;
 import org.onap.ccsdk.sli.core.sli.SvcLogicAdaptor;
 import org.onap.ccsdk.sli.core.sli.SvcLogicException;
@@ -44,180 +43,172 @@
 
 public class SvcLogicActivator implements BundleActivator {
 
-	private static final String SVCLOGIC_PROP_VAR = "SDNC_SLI_PROPERTIES";
-	private static final String SDNC_CONFIG_DIR = "SDNC_CONFIG_DIR";
+    private static final String SVCLOGIC_PROP_VAR = "SDNC_SLI_PROPERTIES";
+    private static final String SDNC_CONFIG_DIR = "SDNC_CONFIG_DIR";
 
-	private static final Map<String, SvcLogicNodeExecutor> BUILTIN_NODES = new HashMap<String, SvcLogicNodeExecutor>() {
-		{
-			put("block", new BlockNodeExecutor());
-			put("call", new CallNodeExecutor());
-			put("configure", new ConfigureNodeExecutor());
-			put("delete", new DeleteNodeExecutor());
-			put("execute", new ExecuteNodeExecutor());
-			put("exists", new ExistsNodeExecutor());
-			put("for", new ForNodeExecutor());
-			put("get-resource", new GetResourceNodeExecutor());
-			put("is-available", new IsAvailableNodeExecutor());
-			put("notify", new NotifyNodeExecutor());
-			put("record", new RecordNodeExecutor());
-			put("release", new ReleaseNodeExecutor());
-			put("reserve", new ReserveNodeExecutor());
-			put("return", new ReturnNodeExecutor());
-			put("save", new SaveNodeExecutor());
-			put("set", new SetNodeExecutor());
-			put("switch", new SwitchNodeExecutor());
-			put("update", new UpdateNodeExecutor());
+    private static final Map<String, SvcLogicNodeExecutor> BUILTIN_NODES = new HashMap<String, SvcLogicNodeExecutor>() {
+        {
+            put("block", new BlockNodeExecutor());
+            put("call", new CallNodeExecutor());
+            put("configure", new ConfigureNodeExecutor());
+            put("delete", new DeleteNodeExecutor());
+            put("execute", new ExecuteNodeExecutor());
+            put("exists", new ExistsNodeExecutor());
+            put("for", new ForNodeExecutor());
+            put("get-resource", new GetResourceNodeExecutor());
+            put("is-available", new IsAvailableNodeExecutor());
+            put("notify", new NotifyNodeExecutor());
+            put("record", new RecordNodeExecutor());
+            put("release", new ReleaseNodeExecutor());
+            put("reserve", new ReserveNodeExecutor());
+            put("return", new ReturnNodeExecutor());
+            put("save", new SaveNodeExecutor());
+            put("set", new SetNodeExecutor());
+            put("switch", new SwitchNodeExecutor());
+            put("update", new UpdateNodeExecutor());
             put("break", new BreakNodeExecutor());
 
-		}
-	};
+        }
+    };
 
-	private static LinkedList<ServiceRegistration> registrations = new LinkedList<ServiceRegistration>();
+    private static final Logger LOG = LoggerFactory.getLogger(SvcLogicActivator.class);
 
-	private static HashMap<String, SvcLogicAdaptor> adaptorMap = null;
+    private static LinkedList<ServiceRegistration> registrations = new LinkedList<>();
 
-	private static final Logger LOG = LoggerFactory
-			.getLogger(SvcLogicActivator.class);
+    private static HashMap<String, SvcLogicAdaptor> adaptorMap;
 
-	private static Properties props = null;
+    private static Properties props;
 
-	private static BundleContext bundleCtx = null;
+    private static BundleContext bundleCtx;
 
-	private static SvcLogicService svcLogicServiceImpl = null;
+    private static SvcLogicService svcLogicServiceImpl;
 
-	@Override
-	public void start(BundleContext ctx) throws Exception {
+    @Override
+    public void start(BundleContext ctx) throws Exception {
 
-		LOG.info("Activating SLI");
+        LOG.info("Activating SLI");
 
-		bundleCtx = ctx;
+        synchronized (SvcLogicActivator.class) {
+            bundleCtx = ctx;
+            props = new Properties();
+        }
 
-		// Read properties
-		props = new Properties();
-		String propPath = System.getenv(SVCLOGIC_PROP_VAR);
+        // Read properties
+        String propPath = System.getenv(SVCLOGIC_PROP_VAR);
 
-		if (propPath == null) {
-			String propDir = System.getenv(SDNC_CONFIG_DIR);
-			if (propDir == null) {
+        if (propPath == null) {
+            String propDir = System.getenv(SDNC_CONFIG_DIR);
+            if (propDir == null) {
 
-				propDir = "/opt/sdnc/data/properties";
-			}
-			propPath = propDir + "/svclogic.properties";
-			LOG.warn("Environment variable "+SVCLOGIC_PROP_VAR+" unset - defaulting to "+propPath);
-		}
+                propDir = "/opt/sdnc/data/properties";
+            }
+            propPath = propDir + "/svclogic.properties";
+            LOG.warn("Environment variable {} unset - defaulting to {}", SVCLOGIC_PROP_VAR, propPath);
+        }
 
-		File propFile = new File(propPath);
+        File propFile = new File(propPath);
 
-		if (!propFile.exists()) {
+        if (!propFile.exists()) {
+            throw new ConfigurationException("Missing configuration properties file : " + propFile);
+        }
 
-			throw new ConfigurationException(
-					"Missing configuration properties file : "
-							+ propFile);
-		}
-		try {
+        try {
+            props.load(new FileInputStream(propFile));
+        } catch (Exception e) {
+            throw new ConfigurationException("Could not load properties file " + propPath, e);
 
-			props.load(new FileInputStream(propFile));
-		} catch (Exception e) {
-			throw new ConfigurationException(
-					"Could not load properties file " + propPath, e);
+        }
 
-		}
+        synchronized (SvcLogicActivator.class) {
+            if (registrations == null) {
+                registrations = new LinkedList<>();
+            }
+            // Advertise SvcLogicService
+            svcLogicServiceImpl = new SvcLogicServiceImpl();
+        }
 
+        LOG.info("SLI: Registering service {} in bundle {}", SvcLogicService.NAME, ctx.getBundle().getSymbolicName());
+        ServiceRegistration reg = ctx.registerService(SvcLogicService.NAME, svcLogicServiceImpl, null);
+        registrations.add(reg);
 
-		if (registrations == null) {
+        // Initialize SvcLogicStore
+        try {
+            SvcLogicStore store = getStore();
+            registerNodeTypes(store);
+        } catch (ConfigurationException e) {
+            LOG.warn("Could not initialize SvcLogicScore", e);
+        }
 
-			registrations = new LinkedList<ServiceRegistration>();
-		}
+        LOG.info("SLI - done registering services");
+    }
 
-		// Advertise SvcLogicService
-		svcLogicServiceImpl = new SvcLogicServiceImpl();
+    @Override
+    public void stop(BundleContext ctx) throws Exception {
 
-		LOG.info("SLI: Registering service " + SvcLogicService.NAME
-				+ " in bundle " + ctx.getBundle().getSymbolicName());
-		ServiceRegistration reg = ctx.registerService(SvcLogicService.NAME,
-				svcLogicServiceImpl, null);
-		registrations.add(reg);
+        if (registrations != null) {
+            for (ServiceRegistration reg : registrations) {
+                ServiceReference regRef = reg.getReference();
+                /* Don't bother to remove node types from table
+                String nodeType = (String) regRef.getProperty("nodeType");
+                if (nodeType != null) {
+                    LOG.info("SLI - unregistering node type " + nodeType);
+                    store.unregisterNodeType(nodeType);
+                }
+                */
+                reg.unregister();
+            }
+            synchronized (SvcLogicActivator.class) {
+                registrations = null;
+            }
+        }
+    }
 
-		// Initialize SvcLogicStore
-		try {
-			SvcLogicStore store = getStore();
-			registerNodeTypes(store);
-		} catch (ConfigurationException e) {
-			LOG.warn("Could not initialize SvcLogicScore", e);
-		}
+    public static SvcLogicStore getStore() throws SvcLogicException {
+        // Create and initialize SvcLogicStore object - used to access
+        // saved service logic.
 
-		LOG.info("SLI - done registering services");
-	}
+        SvcLogicStore store;
 
-	@Override
-	public void stop(BundleContext ctx) throws Exception {
+        try {
+            store = SvcLogicStoreFactory.getSvcLogicStore(props);
+        } catch (Exception e) {
+            throw new ConfigurationException("Could not get service logic store", e);
 
-		if (registrations != null) {
-			for (ServiceRegistration reg : registrations) {
-				ServiceReference regRef = reg.getReference();
-				/* Don't bother to remove node types from table
-				String nodeType = (String) regRef.getProperty("nodeType");
-				if (nodeType != null) {
-					LOG.info("SLI - unregistering node type " + nodeType);
-					store.unregisterNodeType(nodeType);
-				}
-				*/
-				reg.unregister();
-			}
-			registrations = null;
-		}
-	}
+        }
 
-	public static SvcLogicStore getStore() throws SvcLogicException {
-		// Create and initialize SvcLogicStore object - used to access
-		// saved service logic.
+        try {
+            store.init(props);
+        } catch (Exception e) {
+            throw new ConfigurationException("Could not get service logic store", e);
+        }
 
-		SvcLogicStore store = null;
+        return(store);
+    }
 
-		try {
-			store = SvcLogicStoreFactory.getSvcLogicStore(props);
-		} catch (Exception e) {
-			throw new ConfigurationException(
-					"Could not get service logic store", e);
+    private static void registerNodeTypes(SvcLogicStore store) throws SvcLogicException {
 
-		}
+        if (store == null) {
+            return;
+        }
+        // Advertise built-in node executors
+        LOG.info("SLI : Registering built-in node executors");
+        Hashtable propTable = new Hashtable();
 
-		try {
-			store.init(props);
-		} catch (Exception e) {
-			throw new ConfigurationException(
-					"Could not get service logic store", e);
-		}
+        for (String nodeType : BUILTIN_NODES.keySet()) {
+            LOG.info("SLI - registering node type {}", nodeType);
+            propTable.clear();
+            propTable.put("nodeType", nodeType);
 
-		return(store);
-	}
+            ServiceRegistration reg = bundleCtx.registerService(SvcLogicNodeExecutor.class.getName(),
+                    BUILTIN_NODES.get(nodeType), propTable);
+            registrations.add(reg);
 
-	private static void registerNodeTypes(SvcLogicStore store) throws SvcLogicException {
+            store.registerNodeType(nodeType);
 
-		if (store == null) {
-			return;
-		}
-		// Advertise built-in node executors
-		LOG.info("SLI : Registering built-in node executors");
-		Hashtable propTable = new Hashtable();
+            LOG.info("SLI - registering node executor");
 
-		for (String nodeType : BUILTIN_NODES.keySet()) {
-			LOG.info("SLI - registering node type " + nodeType);
-			propTable.clear();
-			propTable.put("nodeType", nodeType);
+            ((SvcLogicServiceImpl)svcLogicServiceImpl).registerExecutor(nodeType, BUILTIN_NODES.get(nodeType));
 
-			ServiceRegistration reg = bundleCtx.registerService(SvcLogicNodeExecutor.class.getName(),
-					BUILTIN_NODES.get(nodeType), propTable);
-			registrations.add(reg);
-
-			store.registerNodeType(nodeType);
-
-			LOG.info("SLI - registering node executor");
-
-			((SvcLogicServiceImpl)svcLogicServiceImpl).registerExecutor(nodeType, BUILTIN_NODES.get(nodeType));
-
-		}
-
-	}
-
+        }
+    }
 }
diff --git a/sli/recording/pom.xml b/sli/recording/pom.xml
index f0bc097..c2cfbee 100755
--- a/sli/recording/pom.xml
+++ b/sli/recording/pom.xml
@@ -16,7 +16,7 @@
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
-      <version>3.8.1</version>
+      <version>${junit.version}</version>
       <scope>test</scope>
     </dependency>
     		<dependency>
@@ -44,7 +44,7 @@
 		<dependency>
 			<groupId>commons-lang</groupId>
 			<artifactId>commons-lang</artifactId>
-			<version>2.6</version>
+			<version>${commons.lang.version}</version>
 			<scope>compile</scope>
 		</dependency>
 
diff --git a/sliPluginUtils/features/pom.xml b/sliPluginUtils/features/pom.xml
index 41381b6..cfa86b3 100755
--- a/sliPluginUtils/features/pom.xml
+++ b/sliPluginUtils/features/pom.xml
@@ -22,7 +22,7 @@
 		<dependency>
 			<groupId>commons-lang</groupId>
 			<artifactId>commons-lang</artifactId>
-			<version>2.6</version>
+			<version>${commons.lang.version}</version>
 			<scope>compile</scope>
 		</dependency>
 		<dependency>
diff --git a/sliPluginUtils/provider/pom.xml b/sliPluginUtils/provider/pom.xml
index d105036..3697b43 100755
--- a/sliPluginUtils/provider/pom.xml
+++ b/sliPluginUtils/provider/pom.xml
@@ -22,7 +22,7 @@
 		<dependency>
 			<groupId>junit</groupId>
 			<artifactId>junit</artifactId>
-			<version>4.11</version>
+			<version>${junit.version}</version>
 			<scope>test</scope>
 		</dependency>
 		<dependency>
diff --git a/utils/features/pom.xml b/utils/features/pom.xml
index 6871d8e..dedb18e 100755
--- a/utils/features/pom.xml
+++ b/utils/features/pom.xml
@@ -23,7 +23,7 @@
 		<dependency>
 			<groupId>commons-lang</groupId>
 			<artifactId>commons-lang</artifactId>
-			<version>2.6</version>
+			<version>${commons.lang.version}</version>
 			<scope>compile</scope>
 		</dependency>
 
diff --git a/utils/provider/pom.xml b/utils/provider/pom.xml
index 41527f0..790f101 100644
--- a/utils/provider/pom.xml
+++ b/utils/provider/pom.xml
@@ -37,6 +37,7 @@
         <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
+            <version>${junit.version}</version>
             <scope>test</scope>
         </dependency>
     </dependencies>