public class A1AdapterClient {
 
+    private static final String PARAMETERS_PASSED_TO_SLI = "Parameters passed to SLI";
+    private static final String PARAMETERS_RETURNED_BY_SLI = "Parameters returned by SLI";
+
     private static final Logger LOG = LoggerFactory.getLogger(A1AdapterClient.class);
 
     private SvcLogicService svcLogicService = null;
         Properties localProp;
         localProp = MdsalHelper.toProperties(parms, serviceData);
         if (LOG.isDebugEnabled()) {
-            LOG.debug("Parameters passed to SLI");
-
-            for (Object key : localProp.keySet()) {
-                String parmName = (String) key;
-                String parmValue = localProp.getProperty(parmName);
-
-                LOG.debug(parmName + " = " + parmValue);
-            }
+            logParameters(PARAMETERS_PASSED_TO_SLI, localProp);
         }
         Properties respProps = svcLogicService.execute(module, rpc, version, mode, localProp);
         if (LOG.isDebugEnabled()) {
-            LOG.debug("Parameters returned by SLI");
-            for (Object key : respProps.keySet()) {
-                String parmName = (String) key;
-                String parmValue = respProps.getProperty(parmName);
-                LOG.debug(parmName + " = " + parmValue);
-            }
+            logParameters(PARAMETERS_RETURNED_BY_SLI, localProp);
         }
         if ("failure".equalsIgnoreCase(respProps.getProperty("SvcLogic.status"))) {
             return respProps;
         Properties localProp;
         localProp = MdsalHelper.toProperties(parms, serviceData);
         if (LOG.isDebugEnabled()) {
-            LOG.debug("Parameters passed to SLI");
-
-            for (Object key : localProp.keySet()) {
-                String parmName = (String) key;
-                String parmValue = localProp.getProperty(parmName);
-
-                LOG.debug(parmName + " = " + parmValue);
-            }
+            logParameters(PARAMETERS_PASSED_TO_SLI, localProp);
         }
         Properties respProps = svcLogicService.execute(module, rpc, version, mode, localProp);
         if (LOG.isDebugEnabled()) {
-            LOG.debug("Parameters returned by SLI");
-            for (Object key : respProps.keySet()) {
-                String parmName = (String) key;
-                String parmValue = respProps.getProperty(parmName);
-                LOG.debug(parmName + " = " + parmValue);
-            }
+            logParameters(PARAMETERS_RETURNED_BY_SLI, localProp);
         }
         if ("failure".equalsIgnoreCase(respProps.getProperty("SvcLogic.status"))) {
             return respProps;
         Properties localProp;
         localProp = MdsalHelper.toProperties(parms, serviceData);
         if (LOG.isDebugEnabled()) {
-            LOG.debug("Parameters passed to SLI");
-
-            for (Object key : localProp.keySet()) {
-                String parmName = (String) key;
-                String parmValue = localProp.getProperty(parmName);
-
-                LOG.debug(parmName + " = " + parmValue);
-            }
+            logParameters(PARAMETERS_PASSED_TO_SLI, localProp);
         }
         Properties respProps = svcLogicService.execute(module, rpc, version, mode, localProp);
         if (LOG.isDebugEnabled()) {
-            LOG.debug("Parameters returned by SLI");
-            for (Object key : respProps.keySet()) {
-                String parmName = (String) key;
-                String parmValue = respProps.getProperty(parmName);
-                LOG.debug(parmName + " = " + parmValue);
-            }
+            logParameters(PARAMETERS_RETURNED_BY_SLI, localProp);
         }
         if ("failure".equalsIgnoreCase(respProps.getProperty("SvcLogic.status"))) {
             return respProps;
         Properties localProp;
         localProp = MdsalHelper.toProperties(parms, serviceData);
         if (LOG.isDebugEnabled()) {
-            LOG.debug("Parameters passed to SLI");
-
-            for (Object key : localProp.keySet()) {
-                String parmName = (String) key;
-                String parmValue = localProp.getProperty(parmName);
-
-                LOG.debug(parmName + " = " + parmValue);
-            }
+            logParameters(PARAMETERS_PASSED_TO_SLI, localProp);
         }
         Properties respProps = svcLogicService.execute(module, rpc, version, mode, localProp);
         if (LOG.isDebugEnabled()) {
-            LOG.debug("Parameters returned by SLI");
-            for (Object key : respProps.keySet()) {
-                String parmName = (String) key;
-                String parmValue = respProps.getProperty(parmName);
-                LOG.debug(parmName + " = " + parmValue);
-            }
+            logParameters(PARAMETERS_RETURNED_BY_SLI, localProp);
         }
         if ("failure".equalsIgnoreCase(respProps.getProperty("SvcLogic.status"))) {
             return respProps;
         Properties localProp;
         localProp = MdsalHelper.toProperties(parms, serviceData);
         if (LOG.isDebugEnabled()) {
-            LOG.debug("Parameters passed to SLI");
-
-            for (Object key : localProp.keySet()) {
-                String parmName = (String) key;
-                String parmValue = localProp.getProperty(parmName);
-
-                LOG.debug(parmName + " = " + parmValue);
-            }
+            logParameters(PARAMETERS_PASSED_TO_SLI, localProp);
         }
         Properties respProps = svcLogicService.execute(module, rpc, version, mode, localProp);
         if (LOG.isDebugEnabled()) {
-            LOG.debug("Parameters returned by SLI");
-            for (Object key : respProps.keySet()) {
-                String parmName = (String) key;
-                String parmValue = respProps.getProperty(parmName);
-                LOG.debug(parmName + " = " + parmValue);
-            }
+            logParameters(PARAMETERS_RETURNED_BY_SLI, localProp);
         }
         if ("failure".equalsIgnoreCase(respProps.getProperty("SvcLogic.status"))) {
             return respProps;
         MdsalHelper.toBuilder(respProps, serviceData);
         return respProps;
     }
+
+    private void logParameters(String message, Properties localProp) {
+        LOG.debug(message);
+
+        for (Object key : localProp.keySet()) {
+            String parmName = (String) key;
+            String parmValue = localProp.getProperty(parmName);
+
+            LOG.debug("{}={}", parmName, parmValue);
+        }
+    }
 }
 
 @SuppressWarnings("squid:S1874") // "@Deprecated" code should not be used
 public class A1AdapterProvider implements AutoCloseable, A1ADAPTERAPIService {
 
+    private static final String A1_ADAPTER_API = "A1-ADAPTER-API";
+    private static final String RESPONSE_BODY = "responseBody";
+    private static final String RESPONSE_CODE = "response-code";
+    private static final String SYNC = "sync";
+
+    private static final String ADDING_INPUT_DATA_MESSAGE = "Adding INPUT data for {} input: {}";
+    private static final String A1_ADAPTER_CLIENT_GRAPH_MESSAGE = "A1AdapterClient has a Directed Graph for '{}'";
+    private static final String SERVICE_EXCEPTION_MESSAGE = "Caught exception executing service logic for {}, {}";
+    private static final String NO_SERVICE_LOGIC_ACTIVE_MESSAGE = "No service logic active for A1Adapter: '{}'";
+    private static final String LOOKUP_SERVICE_LOGIC_EXCEPTION_MESSAGE = "Caught exception looking for service logic, {}";
+
     private static final Logger log = LoggerFactory.getLogger(A1AdapterProvider.class);
 
     private static final String APPLICATION_NAME = "a1Adapter-api";
         Properties parms = new Properties();
         DeleteA1PolicyOutputBuilder deleteResponse = new DeleteA1PolicyOutputBuilder();
         // add input to parms
-        log.info("Adding INPUT data for " + svcOperation + " input: " + input);
+        log.info(ADDING_INPUT_DATA_MESSAGE, svcOperation, input);
         DeleteA1PolicyInputBuilder inputBuilder = new DeleteA1PolicyInputBuilder(input);
         MdsalHelper.toProperties(parms, inputBuilder.build());
-        log.info("Printing SLI parameters to be passed");
-        // iterate properties file to get key-value pairs
-        for (String key : parms.stringPropertyNames()) {
-            String value = parms.getProperty(key);
-            log.info("The SLI parameter in " + key + " is: " + value);
-        }
+        logSliParameters(parms);
         // Call SLI sync method
         try {
-            if (a1AdapterClient.hasGraph("A1-ADAPTER-API", svcOperation, null, "sync")) {
-                log.info("A1AdapterClient has a Directed Graph for '" + svcOperation + "'");
+            if (a1AdapterClient.hasGraph(A1_ADAPTER_API, svcOperation, null, SYNC)) {
+                log.info(A1_ADAPTER_CLIENT_GRAPH_MESSAGE, svcOperation);
                 try {
-                    Properties responseParms = a1AdapterClient.execute("A1-ADAPTER-API", svcOperation, null, "sync", deleteResponse, parms);
-                    log.info("responseBody::"+responseParms.getProperty("responseBody"));
-                    log.info("responseCode::"+responseParms.getProperty("response-code"));
-                    log.info("responseMessage::"+responseParms.getProperty("response-message"));
-                    deleteResponse.setHttpStatus(Integer.valueOf(responseParms.getProperty("response-code")));
+                    Properties responseParms = a1AdapterClient.execute(A1_ADAPTER_API, svcOperation, null, SYNC, deleteResponse, parms);
+                    logResponse(responseParms);
+                    deleteResponse.setHttpStatus(Integer.valueOf(responseParms.getProperty(RESPONSE_CODE)));
                 } catch (Exception e) {
-                    log.error("Caught exception executing service logic for " + svcOperation, e);
+                    log.error(SERVICE_EXCEPTION_MESSAGE, svcOperation, e.getMessage());
                     deleteResponse.setHttpStatus(500);
                 }
             } else {
-                log.error("No service logic active for A1Adapter: '" + svcOperation + "'");
+                log.error(NO_SERVICE_LOGIC_ACTIVE_MESSAGE, svcOperation);
                 deleteResponse.setHttpStatus(503);
             }
         } catch (Exception e) {
-            log.error("Caught exception looking for service logic", e);
+            log.error(LOOKUP_SERVICE_LOGIC_EXCEPTION_MESSAGE, e.getMessage());
             deleteResponse.setHttpStatus(500);
         }
         RpcResult<DeleteA1PolicyOutput> rpcResult =
         Properties parms = new Properties();
         GetA1PolicyOutputBuilder policyResponse = new GetA1PolicyOutputBuilder();
         // add input to parms
-        log.info("Adding INPUT data for " + svcOperation + " input: " + input);
+        log.info(ADDING_INPUT_DATA_MESSAGE, svcOperation, input);
         GetA1PolicyInputBuilder inputBuilder = new GetA1PolicyInputBuilder(input);
         MdsalHelper.toProperties(parms, inputBuilder.build());
-        log.info("Printing SLI parameters to be passed");
-        // iterate properties file to get key-value pairs
-        for (String key : parms.stringPropertyNames()) {
-            String value = parms.getProperty(key);
-            log.info("The SLI parameter in " + key + " is: " + value);
-        }
+        logSliParameters(parms);
         // Call SLI sync method
         try {
-            if (a1AdapterClient.hasGraph("A1-ADAPTER-API", svcOperation, null, "sync")) {
-                log.info("A1AdapterClient has a Directed Graph for '" + svcOperation + "'");
+            if (a1AdapterClient.hasGraph(A1_ADAPTER_API, svcOperation, null, SYNC)) {
+                log.info(A1_ADAPTER_CLIENT_GRAPH_MESSAGE, svcOperation);
                 try {
-                    Properties responseParms = a1AdapterClient.execute("A1-ADAPTER-API", svcOperation, null, "sync", policyResponse, parms);
-                    log.info("responseBody::"+responseParms.getProperty("responseBody"));
-                    policyResponse.setBody(responseParms.getProperty("responseBody"));
-                    log.info("responseCode::"+responseParms.getProperty("response-code"));
-                    log.info("responseMessage::"+responseParms.getProperty("response-message"));
-                    policyResponse.setHttpStatus(Integer.valueOf(responseParms.getProperty("response-code")));
+                    Properties responseParms = a1AdapterClient.execute(A1_ADAPTER_API, svcOperation, null, SYNC, policyResponse, parms);
+                    logResponse(responseParms);
+                    policyResponse.setBody(responseParms.getProperty(RESPONSE_BODY));
+                    policyResponse.setHttpStatus(Integer.valueOf(responseParms.getProperty(RESPONSE_CODE)));
                 } catch (Exception e) {
-                    log.error("Caught exception executing service logic for " + svcOperation, e);
+                    log.error(SERVICE_EXCEPTION_MESSAGE, svcOperation, e.getMessage());
                     policyResponse.setHttpStatus(500);
                 }
             } else {
-                log.error("No service logic active for A1Adapter: '" + svcOperation + "'");
+                log.error(NO_SERVICE_LOGIC_ACTIVE_MESSAGE, svcOperation);
                 policyResponse.setHttpStatus(503);
             }
         } catch (Exception e) {
-            log.error("Caught exception looking for service logic", e);
+            log.error(LOOKUP_SERVICE_LOGIC_EXCEPTION_MESSAGE, e.getMessage());
             policyResponse.setHttpStatus(500);
         }
         RpcResult<GetA1PolicyOutput> rpcResult =
         Properties parms = new Properties();
         GetA1PolicyStatusOutputBuilder policyStatusResponse = new GetA1PolicyStatusOutputBuilder();
         // add input to parms
-        log.info("Adding INPUT data for " + svcOperation + " input: " + input);
+        log.info(ADDING_INPUT_DATA_MESSAGE, svcOperation, input);
         GetA1PolicyStatusInputBuilder inputBuilder = new GetA1PolicyStatusInputBuilder(input);
         MdsalHelper.toProperties(parms, inputBuilder.build());
-        log.info("Printing SLI parameters to be passed");
-        // iterate properties file to get key-value pairs
-        for (String key : parms.stringPropertyNames()) {
-            String value = parms.getProperty(key);
-            log.info("The SLI parameter in " + key + " is: " + value);
-        }
+        logSliParameters(parms);
         // Call SLI sync method
         try {
-            if (a1AdapterClient.hasGraph("A1-ADAPTER-API", svcOperation, null, "sync")) {
-                log.info("A1AdapterClient has a Directed Graph for '" + svcOperation + "'");
+            if (a1AdapterClient.hasGraph(A1_ADAPTER_API, svcOperation, null, SYNC)) {
+                log.info(A1_ADAPTER_CLIENT_GRAPH_MESSAGE, svcOperation);
                 try {
-                    Properties responseParms = a1AdapterClient.execute("A1-ADAPTER-API", svcOperation, null, "sync", policyStatusResponse, parms);
-                    log.info("responseBody::"+responseParms.getProperty("responseBody"));
-                    policyStatusResponse.setBody(responseParms.getProperty("responseBody"));
-                    log.info("responseCode::"+responseParms.getProperty("response-code"));
-                    log.info("responseMessage::"+responseParms.getProperty("response-message"));
-                    policyStatusResponse.setHttpStatus(Integer.valueOf(responseParms.getProperty("response-code")));
+                    Properties responseParms = a1AdapterClient.execute(A1_ADAPTER_API, svcOperation, null, SYNC, policyStatusResponse, parms);
+                    logResponse(responseParms);
+                    policyStatusResponse.setBody(responseParms.getProperty(RESPONSE_BODY));
+                    policyStatusResponse.setHttpStatus(Integer.valueOf(responseParms.getProperty(RESPONSE_CODE)));
                 } catch (Exception e) {
-                    log.error("Caught exception executing service logic for " + svcOperation, e);
+                    log.error(SERVICE_EXCEPTION_MESSAGE, svcOperation, e.getMessage());
                     policyStatusResponse.setHttpStatus(500);
                 }
             } else {
-                log.error("No service logic active for A1Adapter: '" + svcOperation + "'");
+                log.error(NO_SERVICE_LOGIC_ACTIVE_MESSAGE, svcOperation);
                 policyStatusResponse.setHttpStatus(503);
             }
         } catch (Exception e) {
-            log.error("Caught exception looking for service logic", e);
+            log.error(LOOKUP_SERVICE_LOGIC_EXCEPTION_MESSAGE, e.getMessage());
             policyStatusResponse.setHttpStatus(500);
         }
         RpcResult<GetA1PolicyStatusOutput> rpcResult =
         Properties parms = new Properties();
         GetA1PolicyTypeOutputBuilder policyTypeResponse = new GetA1PolicyTypeOutputBuilder();
         // add input to parms
-        log.info("Adding INPUT data for " + svcOperation + " input: " + input);
+        log.info(ADDING_INPUT_DATA_MESSAGE, svcOperation, input);
         GetA1PolicyTypeInputBuilder inputBuilder = new GetA1PolicyTypeInputBuilder(input);
         MdsalHelper.toProperties(parms, inputBuilder.build());
-        log.info("Printing SLI parameters to be passed");
-        // iterate properties file to get key-value pairs
-        for (String key : parms.stringPropertyNames()) {
-            String value = parms.getProperty(key);
-            log.info("The SLI parameter in " + key + " is: " + value);
-        }
+        logSliParameters(parms);
         // Call SLI sync method
         try {
-            if (a1AdapterClient.hasGraph("A1-ADAPTER-API", svcOperation, null, "sync")) {
-                log.info("A1AdapterClient has a Directed Graph for '" + svcOperation + "'");
+            if (a1AdapterClient.hasGraph(A1_ADAPTER_API, svcOperation, null, SYNC)) {
+                log.info(A1_ADAPTER_CLIENT_GRAPH_MESSAGE, svcOperation);
                 try {
-                    Properties responseParms = a1AdapterClient.execute("A1-ADAPTER-API", svcOperation, null, "sync", policyTypeResponse, parms);
-                    log.info("responseBody::"+responseParms.getProperty("responseBody"));
-                    policyTypeResponse.setBody(responseParms.getProperty("responseBody"));
-                    log.info("responseCode::"+responseParms.getProperty("response-code"));
-                    log.info("responseMessage::"+responseParms.getProperty("response-message"));
-                    policyTypeResponse.setHttpStatus(Integer.valueOf(responseParms.getProperty("response-code")));
+                    Properties responseParms = a1AdapterClient.execute(A1_ADAPTER_API, svcOperation, null, SYNC, policyTypeResponse, parms);
+                    logResponse(responseParms);
+                    policyTypeResponse.setBody(responseParms.getProperty(RESPONSE_BODY));
+                    policyTypeResponse.setHttpStatus(Integer.valueOf(responseParms.getProperty(RESPONSE_CODE)));
                 } catch (Exception e) {
-                    log.error("Caught exception executing service logic for " + svcOperation, e);
+                    log.error(SERVICE_EXCEPTION_MESSAGE, svcOperation, e.getMessage());
                     policyTypeResponse.setHttpStatus(500);
                 }
             } else {
-                log.error("No service logic active for A1Adapter: '" + svcOperation + "'");
+                log.error(NO_SERVICE_LOGIC_ACTIVE_MESSAGE, svcOperation);
                 policyTypeResponse.setHttpStatus(503);
             }
         } catch (Exception e) {
-            log.error("Caught exception looking for service logic", e);
+            log.error(LOOKUP_SERVICE_LOGIC_EXCEPTION_MESSAGE, e.getMessage());
             policyTypeResponse.setHttpStatus(500);
         }
         RpcResult<GetA1PolicyTypeOutput> rpcResult =
         Properties parms = new Properties();
         PutA1PolicyOutputBuilder policyResponse = new PutA1PolicyOutputBuilder();
         // add input to parms
-        log.info("Adding INPUT data for " + svcOperation + " input: " + input);
+        log.info(ADDING_INPUT_DATA_MESSAGE, svcOperation, input);
         PutA1PolicyInputBuilder inputBuilder = new PutA1PolicyInputBuilder(input);
         MdsalHelper.toProperties(parms, inputBuilder.build());
-        log.info("Printing SLI parameters to be passed");
-        // iterate properties file to get key-value pairs
-        for (String key : parms.stringPropertyNames()) {
-            String value = parms.getProperty(key);
-            log.info("The SLI parameter in " + key + " is: " + value);
-        }
+        logSliParameters(parms);
         // Call SLI sync method
         try {
-            if (a1AdapterClient.hasGraph("A1-ADAPTER-API", svcOperation, null, "sync")) {
-                log.info("A1AdapterClient has a Directed Graph for '" + svcOperation + "'");
+            if (a1AdapterClient.hasGraph(A1_ADAPTER_API, svcOperation, null, SYNC)) {
+                log.info(A1_ADAPTER_CLIENT_GRAPH_MESSAGE, svcOperation);
                 try {
-                    Properties responseParms = a1AdapterClient.execute("A1-ADAPTER-API", svcOperation, null, "sync", policyResponse, parms);
-                    log.info("responseBody::"+responseParms.getProperty("responseBody"));
-                    policyResponse.setBody(responseParms.getProperty("responseBody"));
-                    log.info("responseCode::"+responseParms.getProperty("response-code"));
-                    log.info("responseMessage::"+responseParms.getProperty("response-message"));
-                    policyResponse.setHttpStatus(Integer.valueOf(responseParms.getProperty("response-code")));
+                    Properties responseParms = a1AdapterClient.execute(A1_ADAPTER_API, svcOperation, null, SYNC, policyResponse, parms);
+                    logResponse(responseParms);
+                    policyResponse.setBody(responseParms.getProperty(RESPONSE_BODY));
+                    policyResponse.setHttpStatus(Integer.valueOf(responseParms.getProperty(RESPONSE_CODE)));
                 } catch (Exception e) {
-                    log.error("Caught exception executing service logic for " + svcOperation, e);
+                    log.error(SERVICE_EXCEPTION_MESSAGE, svcOperation, e.getMessage());
                     policyResponse.setHttpStatus(500);
                 }
             } else {
-                log.error("No service logic active for A1Adapter: '" + svcOperation + "'");
+                log.error(NO_SERVICE_LOGIC_ACTIVE_MESSAGE, svcOperation);
                 policyResponse.setHttpStatus(503);
             }
         } catch (Exception e) {
-            log.error("Caught exception looking for service logic", e);
+            log.error(LOOKUP_SERVICE_LOGIC_EXCEPTION_MESSAGE, e.getMessage());
             policyResponse.setHttpStatus(500);
         }
         RpcResult<PutA1PolicyOutput> rpcResult =
         return Futures.immediateFuture(rpcResult);
     }
 
+    private void logSliParameters(Properties parms) {
+        log.info("Printing SLI parameters to be passed");
+        // iterate properties file to get key-value pairs
+        for (String key : parms.stringPropertyNames()) {
+            String value = parms.getProperty(key);
+            log.info("The SLI parameter in {} is: {}", key, value);
+        }
+    }
+
+    private void logResponse(Properties responseParms) {
+        log.info("responseBody::{}", responseParms.getProperty(RESPONSE_BODY));
+        log.info("responseCode::{}", responseParms.getProperty(RESPONSE_CODE));
+        log.info("responseMessage::{}", responseParms.getProperty("response-message"));
+    }
 }