Merge "Fix for SONAR critical issues Issue-Id : SO-117"
diff --git a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoHeatUtils.java b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoHeatUtils.java
index a1cf7e1..8073c95 100644
--- a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoHeatUtils.java
+++ b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoHeatUtils.java
@@ -3,6 +3,7 @@
  * ONAP - SO
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -425,7 +426,7 @@
                     try {
                         LOGGER.debug("Current stack " + this.getOutputsAsStringBuilder(heatStack).toString());
                     } catch (Exception e) {
-                        LOGGER.debug("an error occurred trying to print out the current outputs of the stack");
+                        LOGGER.debug("an error occurred trying to print out the current outputs of the stack", e);
                     }
 
                     if ("CREATE_IN_PROGRESS".equals (heatStack.getStackStatus ())) {
@@ -578,7 +579,7 @@
 
                 			} catch (MsoException me2) {
                 				// We got an exception on the delete - don't throw this exception - throw the original - just log.
-                				LOGGER.debug("Exception thrown trying to delete " + canonicalName + " on a create->rollback: " + me2.getContextMessage());
+                				LOGGER.debug("Exception thrown trying to delete " + canonicalName + " on a create->rollback: " + me2.getContextMessage(), me2);
                 				LOGGER.warn(MessageEnum.RA_CREATE_STACK_ERR, "Create Stack errored, then stack deletion FAILED - exception thrown", "", "", MsoLogger.ErrorCode.BusinessProcesssError, me2.getContextMessage());
                 			}
 
@@ -1178,7 +1179,7 @@
 						String str = this.convertNode((JsonNode) obj);
 						inputs.put(key, str);
 					} catch (Exception e) {
-						LOGGER.debug("DANGER WILL ROBINSON: unable to convert value for JsonNode "+ key);
+						LOGGER.debug("DANGER WILL ROBINSON: unable to convert value for JsonNode "+ key, e);
 						//effect here is this value will not have been copied to the inputs - and therefore will error out downstream
 					}
 				} else if (obj instanceof java.util.LinkedHashMap) {
@@ -1187,21 +1188,21 @@
 						String str = JSON_MAPPER.writeValueAsString(obj);
 						inputs.put(key, str);
 					} catch (Exception e) {
-						LOGGER.debug("DANGER WILL ROBINSON: unable to convert value for LinkedHashMap "+ key);
+						LOGGER.debug("DANGER WILL ROBINSON: unable to convert value for LinkedHashMap "+ key, e);
 					}
 				} else if (obj instanceof Integer) {
 					try {
 						String str = "" + obj;
 						inputs.put(key, str);
 					} catch (Exception e) {
-						LOGGER.debug("DANGER WILL ROBINSON: unable to convert value for Integer "+ key);
+						LOGGER.debug("DANGER WILL ROBINSON: unable to convert value for Integer "+ key, e);
 					}
 				} else {
 					try {
 						String str = obj.toString();
 						inputs.put(key, str);
 					} catch (Exception e) {
-						LOGGER.debug("DANGER WILL ROBINSON: unable to convert value for Other "+ key +" (" + e.getMessage() + ")");
+						LOGGER.debug("DANGER WILL ROBINSON: unable to convert value for Other "+ key +" (" + e.getMessage() + ")", e);
 						//effect here is this value will not have been copied to the inputs - and therefore will error out downstream
 					}
 				}
@@ -1237,7 +1238,7 @@
 						String str = params.get(key).toString();
 						sb.append("\n" + key + "=" + str);
 					} catch (Exception e) {
-						//non fatal
+						LOGGER.debug("Exception :",e);
 					}
 				}
 			}
@@ -1251,9 +1252,9 @@
 			final String json = JSON_MAPPER.writeValueAsString(obj);
 			return json;
 		} catch (JsonParseException jpe) {
-			LOGGER.debug("Error converting json to string " + jpe.getMessage());
+			LOGGER.debug("Error converting json to string " + jpe.getMessage(), jpe);
 		} catch (Exception e) {
-			LOGGER.debug("Error converting json to string " + e.getMessage());
+			LOGGER.debug("Error converting json to string " + e.getMessage(), e);
 		}
 		return "[Error converting json to string]";
 	}
@@ -1290,6 +1291,7 @@
 					String str = JSON_MAPPER.writeValueAsString(obj);
 					sb.append(str + " (a java.util.LinkedHashMap)");
 				} catch (Exception e) {
+					LOGGER.debug("Exception :",e);
 					sb.append("(a LinkedHashMap value that would not convert nicely)");
 				}				
 			} else if (obj instanceof Integer) {
@@ -1297,6 +1299,7 @@
 				try {
 					str = obj.toString() + " (an Integer)\n";
 				} catch (Exception e) {
+					LOGGER.debug("Exception :",e);
 					str = "(an Integer unable to call .toString() on)";
 				}
 				sb.append(str);
@@ -1305,6 +1308,7 @@
 				try {
 					str = obj.toString() + " (an ArrayList)";
 				} catch (Exception e) {
+					LOGGER.debug("Exception :",e);
 					str = "(an ArrayList unable to call .toString() on?)";
 				}
 				sb.append(str);
@@ -1313,6 +1317,7 @@
 				try {
 					str = obj.toString() + " (a Boolean)";
 				} catch (Exception e) {
+					LOGGER.debug("Exception :",e);
 					str = "(an Boolean unable to call .toString() on?)";
 				}
 				sb.append(str);
@@ -1322,6 +1327,7 @@
 				try {
 					str = obj.toString() + " (unknown Object type)";
 				} catch (Exception e) {
+					LOGGER.debug("Exception :",e);
 					str = "(a value unable to call .toString() on?)";
 				}
 				sb.append(str);
@@ -1399,7 +1405,7 @@
 			String jsonString = lhm.toString();
 			jsonNode = new ObjectMapper().readTree(jsonString);
 		} catch (Exception e) {
-			LOGGER.debug("Unable to convert " + lhm.toString() + " to a JsonNode " + e.getMessage());
+			LOGGER.debug("Unable to convert " + lhm.toString() + " to a JsonNode " + e.getMessage(), e);
 			jsonNode = null;
 		}
 		return jsonNode;
@@ -1450,7 +1456,7 @@
 			Set<HeatTemplateParam> paramSet = template.getParameters();
 			LOGGER.debug("paramSet has " + paramSet.size() + " entries");
 		} catch (Exception e) {
-			LOGGER.debug("Exception occurred in convertInputMap:" + e.getMessage());
+			LOGGER.debug("Exception occurred in convertInputMap:" + e.getMessage(), e);
 		}
 		
 		for (HeatTemplateParam htp : template.getParameters()) {
@@ -1497,7 +1503,7 @@
 				try {
 					anInteger = Integer.parseInt(integerString);
 				} catch (Exception e) {
-					LOGGER.debug("Unable to convert " + integerString + " to an integer!!");
+					LOGGER.debug("Unable to convert " + integerString + " to an integer!!", e);
 					anInteger = null;
 				}
 				if (anInteger != null) {
@@ -1518,7 +1524,7 @@
     			try {
     				jsonNode = new ObjectMapper().readTree(jsonString);
     			} catch (Exception e) {
-					LOGGER.debug("Unable to convert " + jsonString + " to a JsonNode!!");
+					LOGGER.debug("Unable to convert " + jsonString + " to a JsonNode!!", e);
 					jsonNode = null;
     			}
     			if (jsonNode != null) {
@@ -1542,7 +1548,7 @@
 					else
 						newInputs.put(key, anArrayList);
 				} catch (Exception e) {
-					LOGGER.debug("Unable to convert " + commaSeparated + " to an ArrayList!!");
+					LOGGER.debug("Unable to convert " + commaSeparated + " to an ArrayList!!", e);
 					if (alias)
 						newInputs.put(realName, commaSeparated);
 					else
diff --git a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoHeatUtilsWithUpdate.java b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoHeatUtilsWithUpdate.java
index 1497e2d..dba52d4 100644
--- a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoHeatUtilsWithUpdate.java
+++ b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoHeatUtilsWithUpdate.java
@@ -3,6 +3,7 @@
  * ONAP - SO
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -281,7 +282,7 @@
                     try {
                     	LOGGER.debug("Current stack " + this.getOutputsAsStringBuilder(heatStack).toString());
                     } catch (Exception e) {
-                    	LOGGER.debug("an error occurred trying to print out the current outputs of the stack");
+                    	LOGGER.debug("an error occurred trying to print out the current outputs of the stack", e);
                     }
 
 
@@ -378,6 +379,7 @@
 					String str = JSON_MAPPER.writeValueAsString(obj);
 					sb.append(str + " (a java.util.LinkedHashMap)");
 				} catch (Exception e) {
+					LOGGER.debug("Exception :", e);
 					sb.append("(a LinkedHashMap value that would not convert nicely)");
 				}				
 			} else if (obj instanceof Integer) {
@@ -385,6 +387,7 @@
 				try {
 					str = obj.toString() + " (an Integer)\n";
 				} catch (Exception e) {
+					LOGGER.debug("Exception :", e);
 					str = "(an Integer unable to call .toString() on)";
 				}
 				sb.append(str);
@@ -393,6 +396,7 @@
 				try {
 					str = obj.toString() + " (an ArrayList)";
 				} catch (Exception e) {
+					LOGGER.debug("Exception :", e);
 					str = "(an ArrayList unable to call .toString() on?)";
 				}
 				sb.append(str);
@@ -401,6 +405,7 @@
 				try {
 					str = obj.toString() + " (a Boolean)";
 				} catch (Exception e) {
+					LOGGER.debug("Exception :", e);
 					str = "(an Boolean unable to call .toString() on?)";
 				}
 				sb.append(str);
@@ -410,6 +415,7 @@
 				try {
 					str = obj.toString() + " (unknown Object type)";
 				} catch (Exception e) {
+					LOGGER.debug("Exception :", e);
 					str = "(a value unable to call .toString() on?)";
 				}
 				sb.append(str);
@@ -426,9 +432,9 @@
 			final String json = JSON_MAPPER.writeValueAsString(obj);
 			return json;
 		} catch (JsonParseException jpe) {
-			LOGGER.debug("Error converting json to string " + jpe.getMessage());
+			LOGGER.debug("Error converting json to string " + jpe.getMessage(), jpe);
 		} catch (Exception e) {
-			LOGGER.debug("Error converting json to string " + e.getMessage());
+			LOGGER.debug("Error converting json to string " + e.getMessage(), e);
 		}
 		return "[Error converting json to string]";
 	}
diff --git a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoYamlEditorWithEnvt.java b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoYamlEditorWithEnvt.java
index 712b18a..4e715fa 100644
--- a/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoYamlEditorWithEnvt.java
+++ b/adapters/mso-adapter-utils/src/main/java/org/openecomp/mso/openstack/utils/MsoYamlEditorWithEnvt.java
@@ -3,6 +3,7 @@
  * ONAP - SO
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/adapters/mso-adapters-rest-interface/src/main/java/org/openecomp/mso/adapters/vnfrest/QueryVfModuleResponse.java b/adapters/mso-adapters-rest-interface/src/main/java/org/openecomp/mso/adapters/vnfrest/QueryVfModuleResponse.java
index da35b0e..f3f252d 100644
--- a/adapters/mso-adapters-rest-interface/src/main/java/org/openecomp/mso/adapters/vnfrest/QueryVfModuleResponse.java
+++ b/adapters/mso-adapters-rest-interface/src/main/java/org/openecomp/mso/adapters/vnfrest/QueryVfModuleResponse.java
@@ -3,6 +3,7 @@
  * ONAP - SO
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -20,6 +21,8 @@
 
 package org.openecomp.mso.adapters.vnfrest;
 
+import org.openecomp.mso.logger.MsoLogger;
+
 
 import java.util.Map;
 
@@ -27,12 +30,13 @@
 
 import org.codehaus.jackson.map.ObjectMapper;
 import org.jboss.resteasy.annotations.providers.NoJackson;
-
+import org.openecomp.mso.logger.MsoLogger;
 import org.openecomp.mso.openstack.beans.VnfStatus;
 
 @XmlRootElement(name = "queryVfModuleResponse")
 @NoJackson
 public class QueryVfModuleResponse {
+	private static final MsoLogger LOGGER = MsoLogger.getMsoLogger (MsoLogger.Catalog.RA);
 	private String vnfId;
 	private String vfModuleId;
 	private String vfModuleStackId;
@@ -100,7 +104,9 @@
 			ObjectMapper mapper = new ObjectMapper();
 			jsonString = mapper.writeValueAsString(this);
 		}
-		catch (Exception e) {}
+		catch (Exception e) {
+			LOGGER.debug("Exception :",e);
+		}
 		return jsonString;
 	}
 }
diff --git a/adapters/mso-adapters-rest-interface/src/main/java/org/openecomp/mso/adapters/vnfrest/QueryVolumeGroupResponse.java b/adapters/mso-adapters-rest-interface/src/main/java/org/openecomp/mso/adapters/vnfrest/QueryVolumeGroupResponse.java
index 776bdf3..e70b9dd 100644
--- a/adapters/mso-adapters-rest-interface/src/main/java/org/openecomp/mso/adapters/vnfrest/QueryVolumeGroupResponse.java
+++ b/adapters/mso-adapters-rest-interface/src/main/java/org/openecomp/mso/adapters/vnfrest/QueryVolumeGroupResponse.java
@@ -3,6 +3,7 @@
  * ONAP - SO
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -29,11 +30,14 @@
 import org.codehaus.jackson.map.SerializationConfig;
 import org.jboss.resteasy.annotations.providers.NoJackson;
 
+import org.openecomp.mso.logger.MsoLogger;
+
 import org.openecomp.mso.openstack.beans.VnfStatus;
 
 @XmlRootElement(name = "queryVolumeGroupResponse")
 @NoJackson
 public class QueryVolumeGroupResponse {
+	private static final MsoLogger LOGGER = MsoLogger.getMsoLogger (MsoLogger.Catalog.RA);
 	private String volumeGroupId;
 	private String volumeGroupStackId;
 	private VnfStatus volumeGroupStatus;
@@ -94,7 +98,9 @@
 			mapper.enable(SerializationConfig.Feature.WRAP_ROOT_VALUE);
 			jsonString = mapper.writeValueAsString(this);
 		}
-		catch (Exception e) {}
+		catch (Exception e) {
+			LOGGER.debug("Exception :",e);
+		}
 		return jsonString;
 	}
 }
diff --git a/adapters/mso-adapters-rest-interface/src/main/java/org/openecomp/mso/adapters/vnfrest/VfResponseCommon.java b/adapters/mso-adapters-rest-interface/src/main/java/org/openecomp/mso/adapters/vnfrest/VfResponseCommon.java
index 39201d5..4a902bd 100644
--- a/adapters/mso-adapters-rest-interface/src/main/java/org/openecomp/mso/adapters/vnfrest/VfResponseCommon.java
+++ b/adapters/mso-adapters-rest-interface/src/main/java/org/openecomp/mso/adapters/vnfrest/VfResponseCommon.java
@@ -3,6 +3,7 @@
  * ONAP - SO
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -26,6 +27,8 @@
 import javax.xml.bind.JAXBContext;
 import javax.xml.bind.Marshaller;
 
+import org.openecomp.mso.logger.MsoLogger;
+
 import org.codehaus.jackson.map.ObjectMapper;
 import org.codehaus.jackson.map.SerializationConfig;
 
@@ -34,6 +37,7 @@
  * except for QueryVfModuleResponse and QueryVolumeGroupResponse.
  */
 public abstract class VfResponseCommon {
+	private static final MsoLogger LOGGER = MsoLogger.getMsoLogger (MsoLogger.Catalog.RA);
 	private String messageId;
 
 	public VfResponseCommon() {
@@ -60,8 +64,7 @@
 			jsonString = mapper.writeValueAsString(this);
 			return jsonString;
 		} catch (Exception e) {
-			// Shouldn't happen...
-			e.printStackTrace();
+			LOGGER.debug("Exception :",e);
 			return "";
 		}
 	}
@@ -75,8 +78,7 @@
 			marshaller.marshal(this, bs);
 			return bs.toString();
 		} catch (Exception e) {
-			// Shouldn't happen...
-			e.printStackTrace();
+			LOGGER.debug("Exception :",e);
 			return "";
 		}
 	}
diff --git a/adapters/mso-workflow-message-adapter/src/main/java/org/openecomp/mso/adapters/workflowmessage/BPRestCallback.java b/adapters/mso-workflow-message-adapter/src/main/java/org/openecomp/mso/adapters/workflowmessage/BPRestCallback.java
index 1d07d7d..253523e 100644
--- a/adapters/mso-workflow-message-adapter/src/main/java/org/openecomp/mso/adapters/workflowmessage/BPRestCallback.java
+++ b/adapters/mso-workflow-message-adapter/src/main/java/org/openecomp/mso/adapters/workflowmessage/BPRestCallback.java
@@ -3,6 +3,7 @@
  * ONAP - SO
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -160,7 +161,7 @@
 				try {
 					EntityUtils.consume(httpResponse.getEntity());
 				} catch (Exception e) {
-					// Ignore
+					LOGGER.debug("Exception :",e);
 				}
 			}
 
@@ -168,7 +169,7 @@
 				try {
 					method.reset();
 				} catch (Exception e) {
-					// Ignore
+					LOGGER.debug("Exception :",e);
 				}
 			}
 
diff --git a/adapters/mso-workflow-message-adapter/src/main/java/org/openecomp/mso/adapters/workflowmessage/WMAdapterRest.java b/adapters/mso-workflow-message-adapter/src/main/java/org/openecomp/mso/adapters/workflowmessage/WMAdapterRest.java
index 3b6c160..dc94a78 100644
--- a/adapters/mso-workflow-message-adapter/src/main/java/org/openecomp/mso/adapters/workflowmessage/WMAdapterRest.java
+++ b/adapters/mso-workflow-message-adapter/src/main/java/org/openecomp/mso/adapters/workflowmessage/WMAdapterRest.java
@@ -3,6 +3,7 @@
  * ONAP - SO
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -99,6 +100,7 @@
 				contentType = ContentType.parse(contentTypeHeader);
 			} catch (Exception e) {
 				// If we don't get a valid one, we handle it below.
+				LOGGER.debug("Exception :",e);
 			}
 		}
 
diff --git a/adapters/mso-workflow-message-adapter/src/main/java/org/openecomp/mso/adapters/workflowmessage/WMAdapterUtils.java b/adapters/mso-workflow-message-adapter/src/main/java/org/openecomp/mso/adapters/workflowmessage/WMAdapterUtils.java
index 761263f..f152931 100644
--- a/adapters/mso-workflow-message-adapter/src/main/java/org/openecomp/mso/adapters/workflowmessage/WMAdapterUtils.java
+++ b/adapters/mso-workflow-message-adapter/src/main/java/org/openecomp/mso/adapters/workflowmessage/WMAdapterUtils.java
@@ -3,6 +3,7 @@
  * ONAP - SO
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -36,7 +37,7 @@
 		try {
 			return UriUtils.encodePathSegment(pathSegment, "UTF-8");
 		} catch (UnsupportedEncodingException e) {
-			throw new RuntimeException("UTF-8 encoding is not supported");
+			throw new RuntimeException("UTF-8 encoding is not supported",e);
 		}
 	}
 
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/ASDCController.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/ASDCController.java
index f722be7..3ca8527 100644
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/ASDCController.java
+++ b/asdc-controller/src/main/java/org/openecomp/mso/asdc/client/ASDCController.java
@@ -3,6 +3,7 @@
  * ONAP - SO

  * ================================================================================

  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.

+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.

  * ================================================================================

  * Licensed under the Apache License, Version 2.0 (the "License");

  * you may not use this file except in compliance with the License.

@@ -397,7 +398,7 @@
     		outFile.write(payloadBytes, 0, payloadBytes.length);

     		outFile.close();

     		} catch (Exception e) { 

-            	e.printStackTrace();

+    			LOGGER.debug("Exception :",e);

                 LOGGER.error(MessageEnum.ASDC_ARTIFACT_DOWNLOAD_FAIL,

         				artifact.getArtifactName (),

         				artifact.getArtifactURL (),

diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/VfResourceStructure.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/VfResourceStructure.java
index 176f655..70fa7c1 100644
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/VfResourceStructure.java
+++ b/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/VfResourceStructure.java
@@ -3,6 +3,7 @@
  * ONAP - SO
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -47,11 +48,14 @@
 import org.openecomp.mso.db.catalog.beans.ServiceToNetworks;
 import org.openecomp.mso.db.catalog.beans.VnfResource;
 
+import org.openecomp.mso.logger.MsoLogger;
 /**
  * This structure exists to avoid having issues if the order of the vfResource/vfmodule artifact is not good (tree structure).
  *
  */
 public final class VfResourceStructure {
+	
+	protected static final MsoLogger LOGGER = MsoLogger.getMsoLogger (MsoLogger.Catalog.ASDC);
 
 	private boolean isDeployedSuccessfully=false;
 	/**
@@ -231,11 +235,11 @@
 			return listVFModuleMetaData;
 
 		} catch (JsonParseException e) {
-			e.printStackTrace();
+			LOGGER.debug("JsonParseException : ",e);
 		} catch (JsonMappingException e) {
-			e.printStackTrace();
+			LOGGER.debug("JsonMappingException : ",e);
 		} catch (IOException e) {
-			e.printStackTrace();
+			LOGGER.debug("IOException : ",e);
 		}
 		return null;
 	}
diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/heat/ToscaResourceInstaller.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/heat/ToscaResourceInstaller.java
index 3d3c87f..f9fd9c3 100644
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/heat/ToscaResourceInstaller.java
+++ b/asdc-controller/src/main/java/org/openecomp/mso/asdc/installer/heat/ToscaResourceInstaller.java
@@ -3,6 +3,7 @@
  * ONAP - SO

  * ================================================================================

  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.

+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.

  * ================================================================================

  * Licensed under the Apache License, Version 2.0 (the "License");

  * you may not use this file except in compliance with the License.

@@ -558,8 +559,7 @@
 			vfResourceStructure.setSuccessfulDeployment();

 			

 		}catch(Exception e){

-			System.out.println("Exception" + e.getMessage());

-			e.printStackTrace();

+			logger.debug("Exception :",e);

 			

 			Throwable dbExceptionToCapture = e;

 			while (!(dbExceptionToCapture instanceof ConstraintViolationException || dbExceptionToCapture instanceof LockAcquisitionException)

diff --git a/asdc-controller/src/main/java/org/openecomp/mso/asdc/util/NotificationLogging.java b/asdc-controller/src/main/java/org/openecomp/mso/asdc/util/NotificationLogging.java
index da356bd..9b38a50 100644
--- a/asdc-controller/src/main/java/org/openecomp/mso/asdc/util/NotificationLogging.java
+++ b/asdc-controller/src/main/java/org/openecomp/mso/asdc/util/NotificationLogging.java
@@ -3,6 +3,7 @@
  * ONAP - SO
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -33,6 +34,7 @@
 import java.util.List;
 import java.util.Map;
 
+import org.openecomp.mso.logger.MsoLogger;
 import org.openecomp.sdc.api.notification.INotificationData;
 
 
@@ -40,6 +42,8 @@
 	
 	private static Map<Object, List<Method>> objectMethodsToLog = new HashMap<>();
 
+	protected static final MsoLogger LOGGER = MsoLogger.getMsoLogger (MsoLogger.Catalog.ASDC);
+	
 	private static InvocationHandler handler = new InvocationHandler() {
 		@Override
 		public Object invoke(Object arg0, Method arg1, Object[] arg2)
@@ -93,6 +97,7 @@
 					buffer.append(testNull(m.invoke(iNotif, (Object[])null)));
 				} catch (IllegalAccessException | IllegalArgumentException
 						| InvocationTargetException e) {
+					LOGGER.debug("Exception :"+e);
 					buffer.append("UNREADABLE");
 				}
 				buffer.append(System.lineSeparator());
diff --git a/bpmn/MSOCommonBPMN/pom.xml b/bpmn/MSOCommonBPMN/pom.xml
index 24c881d..89e5ce2 100644
--- a/bpmn/MSOCommonBPMN/pom.xml
+++ b/bpmn/MSOCommonBPMN/pom.xml
@@ -359,6 +359,11 @@
 			<scope>test</scope>

 		</dependency>

 		<dependency>

+            <groupId>org.openecomp.so</groupId>

+            <artifactId>common</artifactId>

+            <version>${project.version}</version>

+        </dependency>

+		<dependency>

 			<groupId>javax.ws.rs</groupId>

 			<artifactId>javax.ws.rs-api</artifactId>

 			<version>2.0</version>

diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/util/CryptoHandler.java b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/util/CryptoHandler.java
index 5394ba9..e938a25 100644
--- a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/util/CryptoHandler.java
+++ b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/util/CryptoHandler.java
@@ -3,6 +3,7 @@
  * ONAP - SO

  * ================================================================================

  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.

+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.

  * ================================================================================

  * Licensed under the Apache License, Version 2.0 (the "License");

  * you may not use this file except in compliance with the License.

@@ -21,8 +22,10 @@
 package org.openecomp.mso.bpmn.common.util;

 

 import java.security.GeneralSecurityException;

+import org.openecomp.mso.logger.MsoLogger;

 

 public class CryptoHandler implements ICryptoHandler {

+	private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL);

 

 	private static String msoKey = "aa3871669d893c7fb8abbcda31b88b4f";

 	//private static String msoAaiPwd = "mso0206";

@@ -32,6 +35,7 @@
 		try {

 			return CryptoUtils.decrypt(msoAaiEncryptedPwd, msoKey);

 		} catch (GeneralSecurityException e) {

+			LOGGER.debug("GeneralSecurityException :",e);

 			return null;

 		}

 	}

@@ -41,6 +45,7 @@
 		try {

 			return CryptoUtils.encrypt(plainMsoPwd, msoKey);

 		} catch (GeneralSecurityException e) {

+			LOGGER.debug("GeneralSecurityException :",e);

 			return null;

 		}

 	}

@@ -50,6 +55,7 @@
 		try {

 			return CryptoUtils.decrypt(encryptedPwd, msoKey);

 		} catch (GeneralSecurityException e) {

+			LOGGER.debug("GeneralSecurityException :",e);

 			return null;

 		}

 	}

diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/workflow/service/AbstractCallbackService.java b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/workflow/service/AbstractCallbackService.java
index 49e42ac..a4a8859 100644
--- a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/workflow/service/AbstractCallbackService.java
+++ b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/workflow/service/AbstractCallbackService.java
@@ -76,6 +76,7 @@
 			logCallbackSuccess(method, startTime);

 			return new CallbackSuccess();

 		} catch (Exception e) {

+			LOGGER.debug("Exception :",e);

 			String msg = "Caught " + e.getClass().getSimpleName()

 				+ " processing " + messageEventName + " with " + correlationVariable

 				+ " = '" + correlationValue + "'";

diff --git a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/workflow/service/WorkflowResource.java b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/workflow/service/WorkflowResource.java
index 7db4e76..7a53721 100644
--- a/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/workflow/service/WorkflowResource.java
+++ b/bpmn/MSOCommonBPMN/src/main/java/org/openecomp/mso/bpmn/common/workflow/service/WorkflowResource.java
@@ -3,6 +3,7 @@
  * ONAP - SO

  * ================================================================================

  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.

+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.

  * ================================================================================

  * Licensed under the Apache License, Version 2.0 (the "License");

  * you may not use this file except in compliance with the License.

@@ -183,8 +184,7 @@
 			workflowResponse.setMessageCode(500);

 			return Response.status(500).entity(workflowResponse).build();

 		} catch (Exception ex) {

-			msoLogger.debug(LOGMARKER + "Exception in startProcessInstance by key");

-			ex.printStackTrace();

+			msoLogger.debug(LOGMARKER + "Exception in startProcessInstance by key",ex);

 			workflowResponse.setMessage("Fail" );

 			workflowResponse.setResponse("Error occurred while executing the process: " + ex.getMessage());

 			if (processInstance != null) workflowResponse.setProcessInstanceID(processInstance.getId());

@@ -258,6 +258,7 @@
 		try {

 			return pes.getRuntimeService().createProcessInstanceQuery().processInstanceId(processInstanceId).singleResult() == null ? true : false ;

 		} catch (Exception e) {

+			msoLogger.debug("Exception :",e);

 			return true;

 		}        

 	}

@@ -601,7 +602,7 @@
 					+ processKey 

 					+ " with response: " 

 					+ response.getResponse());

-			

+			msoLogger.debug("Exception :",ex);

 		}

 		

 		msoLogger.recordMetricEvent ( startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, 

diff --git a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/CamundaDBSetup.java b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/CamundaDBSetup.java
index aba43eb..74bb59c 100644
--- a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/CamundaDBSetup.java
+++ b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/CamundaDBSetup.java
@@ -5,12 +5,14 @@
 import java.sql.PreparedStatement;
 import java.sql.SQLException;
 
+import org.openecomp.mso.logger.MsoLogger;
+
 /**
  * Sets up the unit test (H2) database for Camunda.
  */
 public class CamundaDBSetup {
 	private static boolean isDBConfigured = false;
-
+	private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL);
 	public static synchronized void configure() throws SQLException {
 		if (isDBConfigured) {
 			return;
@@ -66,13 +68,13 @@
 			isDBConfigured = true;
 		} catch (SQLException e) {
 			System.out.println("CamundaDBSetup caught " + e.getClass().getSimpleName());
-			e.printStackTrace();
+			LOGGER.debug("SQLException :",e);
 		} finally {
 			if (stmt != null) {
 				try {
 					stmt.close();
 				} catch (Exception e) {
-					// Ignore
+					LOGGER.debug("Exception :",e);
 				}
 			}
 
@@ -80,7 +82,7 @@
 				try {
 					connection.close();
 				} catch (Exception e) {
-					// Ignore
+					LOGGER.debug("Exception :",e);
 				}
 			}
 		}
diff --git a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/HealthCheckHandler.java b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/HealthCheckHandler.java
index eb1cd51..55f6221 100644
--- a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/HealthCheckHandler.java
+++ b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/HealthCheckHandler.java
@@ -3,6 +3,7 @@
  * ONAP - SO
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -200,6 +201,7 @@
             UUID uuid = UUID.fromString(id);
             return uuid.toString().equalsIgnoreCase(id);
         } catch (IllegalArgumentException iae) {
+        	msoLogger.debug("IllegalArgumentException :",iae);
             return false;
         }
     }
diff --git a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/PropertyConfiguration.java b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/PropertyConfiguration.java
index 9d3af1c..70f67a5 100644
--- a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/PropertyConfiguration.java
+++ b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/PropertyConfiguration.java
@@ -3,6 +3,7 @@
  * ONAP - SO
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -167,7 +168,7 @@
 				fileWatcherThread.join(waitInSeconds * 1000);
 			} catch (InterruptedException e) {
 				LOGGER.debug("FileWatcherThread " + System.identityHashCode(fileWatcherThread)
-					+ " shutdown did not occur within " + waitInSeconds + " seconds");
+					+ " shutdown did not occur within " + waitInSeconds + " seconds",e);
 			}
 
 			LOGGER.debug("Finished shutting down FileWatcherThread " + System.identityHashCode(fileWatcherThread));
@@ -257,7 +258,7 @@
 					reader.close();
 					LOGGER.debug("Closed " + fileName);
 				} catch (Exception e) {
-					// Ignore
+					LOGGER.debug("Exception :",e);
 				}
 			}
 		}
@@ -351,12 +352,14 @@
 							}
 						}
 					} catch (InterruptedException e) {
+						LOGGER.debug("InterruptedException :",e);
 						break;
 					} catch (ClosedWatchServiceException e) {
 						LOGGER.info(
 								MessageEnum.BPMN_GENERAL_INFO,
 								"BPMN",
 								"FileWatcherThread shut down because the watch service was closed");
+						LOGGER.debug("ClosedWatchServiceException :",e);
 						break;
 					} catch (Exception e) {
 						LOGGER.error(
@@ -379,7 +382,7 @@
 					watchService.close();
 				} catch (IOException e) {
 					LOGGER.debug("FileWatcherThread caught " + e.getClass().getSimpleName()
-						+ " while closing the watch service");
+						+ " while closing the watch service",e);
 				}
 
 				LOGGER.info(MessageEnum.BPMN_GENERAL_INFO, "BPMN",
diff --git a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/PropertyConfigurationSetup.java b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/PropertyConfigurationSetup.java
index f58efe7..ecdc1bf 100644
--- a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/PropertyConfigurationSetup.java
+++ b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/PropertyConfigurationSetup.java
@@ -11,6 +11,8 @@
 import java.util.Map;
 import java.util.Properties;
 
+import org.openecomp.mso.logger.MsoLogger;
+
 import org.openecomp.mso.bpmn.core.PropertyConfiguration;
 
 /**
@@ -22,6 +24,8 @@
 	private static Path bpmnPropertiesPath = null;
 	private static Path bpmnUrnPropertiesPath = null;
 	private static boolean modifiedConfiguration = false;
+	
+	private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL);
 
 	/**
 	 * Ensures that the the PropertyConfiguration is initialized and that the
@@ -232,7 +236,7 @@
 				try {
 					fileReader.close();
 				} catch (IOException e) {
-					// Ignore
+					LOGGER.debug("Exception :",e);
 				}
 			}
 
@@ -240,7 +244,7 @@
 				try {
 					outputStream.close();
 				} catch (IOException e) {
-					// Ignore
+					LOGGER.debug("Exception :",e);
 				}
 			}
 		}
@@ -279,7 +283,7 @@
 				try {
 					fileReader.close();
 				} catch (IOException e) {
-					// Ignore
+					LOGGER.debug("Exception :",e);
 				}
 			}
 
@@ -287,7 +291,7 @@
 				try {
 					outputStream.close();
 				} catch (IOException e) {
-					// Ignore
+					LOGGER.debug("Exception :",e);
 				}
 			}
 		}
diff --git a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/domain/JsonWrapper.java b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/domain/JsonWrapper.java
index 10e52d1..dc87304 100644
--- a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/domain/JsonWrapper.java
+++ b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/domain/JsonWrapper.java
@@ -16,7 +16,7 @@
 import com.fasterxml.jackson.databind.SerializationFeature;

 import com.fasterxml.jackson.databind.annotation.JsonSerialize;

 

-

+import org.openecomp.mso.logger.MsoLogger;

 //import org.codehaus.jackson.map.SerializationConfig.Feature;

 

 

@@ -29,6 +29,7 @@
 @JsonInclude(Include.NON_NULL)

 public abstract class JsonWrapper implements Serializable  {

 	

+	private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL);

 	@JsonInclude(Include.NON_NULL)

 	public String toJsonString(){

 		

@@ -54,7 +55,7 @@
 //		}

 		} catch (Exception e){

 

-			e.printStackTrace();

+			LOGGER.debug("Exception :",e);

 		}

 		return jsonString;

 	}

@@ -72,17 +73,13 @@
          try {

 			json = new JSONObject(mapper.writeValueAsString(this));

 		} catch (JsonGenerationException e) {

-			// TODO Auto-generated catch block

-			e.printStackTrace();

+			LOGGER.debug("Exception :",e);

 		} catch (JsonMappingException e) {

-			// TODO Auto-generated catch block

-			e.printStackTrace();

+			LOGGER.debug("Exception :",e);

 		} catch (JSONException e) {

-			// TODO Auto-generated catch block

-			e.printStackTrace();

+			LOGGER.debug("Exception :",e);

 		} catch (IOException e) {

-			// TODO Auto-generated catch block

-			e.printStackTrace();

+			LOGGER.debug("Exception :",e);

 		}

          return json; 

 	}

@@ -95,14 +92,11 @@
 		try {

 			jsonString = mapper.writeValueAsString(list);

 		} catch (JsonGenerationException e) {

-			// TODO Auto-generated catch block

-			e.printStackTrace();

+			LOGGER.debug("Exception :",e);

 		} catch (JsonMappingException e) {

-			// TODO Auto-generated catch block

-			e.printStackTrace();

+			LOGGER.debug("Exception :",e);

 		} catch (IOException e) {

-			// TODO Auto-generated catch block

-			e.printStackTrace();

+			LOGGER.debug("Exception :",e);

 		}

 		return jsonString;

 	}

@@ -120,7 +114,7 @@
 			jsonString = ow.writeValueAsString(this);

 		} catch (Exception e){

 

-			e.printStackTrace();

+			LOGGER.debug("Exception :",e);

 		}

 		return jsonString;

 	}

diff --git a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/json/DecomposeJsonUtil.java b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/json/DecomposeJsonUtil.java
index 32c4776..738ec49 100644
--- a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/json/DecomposeJsonUtil.java
+++ b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/json/DecomposeJsonUtil.java
@@ -14,8 +14,10 @@
 import com.fasterxml.jackson.databind.JsonMappingException;

 import com.fasterxml.jackson.databind.ObjectMapper;

 

+import org.openecomp.mso.logger.MsoLogger;

+

 public class DecomposeJsonUtil implements Serializable {

-	

+	private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL);

 	/**

 	 * 

 	 */

@@ -40,14 +42,11 @@
 		try {

 			serviceDecomposition = om.readValue(jsonString, ServiceDecomposition.class);

 		} catch (JsonParseException e) {

-			// TODO Auto-generated catch block

-			e.printStackTrace();

+			LOGGER.debug("JsonParseException :",e);

 		} catch (JsonMappingException e) {

-			// TODO Auto-generated catch block

-			e.printStackTrace();

+			LOGGER.debug("JsonMappingException :",e);

 		} catch (IOException e) {

-			// TODO Auto-generated catch block

-			e.printStackTrace();

+			LOGGER.debug("IOException :",e);

 		}

 		

 		return serviceDecomposition;

@@ -72,14 +71,11 @@
 		try {

 			vnfResource = om.readValue(jsonString, VnfResource.class);

 		} catch (JsonParseException e) {

-			// TODO Auto-generated catch block

-			e.printStackTrace();

+			LOGGER.debug("JsonParseException :",e);

 		} catch (JsonMappingException e) {

-			// TODO Auto-generated catch block

-			e.printStackTrace();

+			LOGGER.debug("JsonMappingException :",e);

 		} catch (IOException e) {

-			// TODO Auto-generated catch block

-			e.printStackTrace();

+			LOGGER.debug("IOException :",e);

 		}

 		return vnfResource;

 	}

@@ -103,14 +99,11 @@
 		try {

 			networkResource = om.readValue(jsonString, NetworkResource.class);

 		} catch (JsonParseException e) {

-			// TODO Auto-generated catch block

-			e.printStackTrace();

+			LOGGER.debug("Exception :",e);

 		} catch (JsonMappingException e) {

-			// TODO Auto-generated catch block

-			e.printStackTrace();

+			LOGGER.debug("Exception :",e);

 		} catch (IOException e) {

-			// TODO Auto-generated catch block

-			e.printStackTrace();

+			LOGGER.debug("Exception :",e);

 		}

 		return networkResource;

 	}

@@ -134,14 +127,11 @@
 		try {

 			allottedResource = om.readValue(jsonString, AllottedResource.class);

 		} catch (JsonParseException e) {

-			// TODO Auto-generated catch block

-			e.printStackTrace();

+			LOGGER.debug("Exception :",e);

 		} catch (JsonMappingException e) {

-			// TODO Auto-generated catch block

-			e.printStackTrace();

+			LOGGER.debug("Exception :",e);

 		} catch (IOException e) {

-			// TODO Auto-generated catch block

-			e.printStackTrace();

+			LOGGER.debug("Exception :",e);

 		}

 		return allottedResource;

 	}

diff --git a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/json/JsonUtils.java b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/json/JsonUtils.java
index f7f6264..54a5732 100644
--- a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/json/JsonUtils.java
+++ b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/json/JsonUtils.java
@@ -3,6 +3,7 @@
  * ONAP - SO

  * ================================================================================

  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.

+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.

  * ================================================================================

  * Licensed under the Apache License, Version 2.0 (the "License");

  * you may not use this file except in compliance with the License.

@@ -67,7 +68,7 @@
 				return jsonObj.toString(MSOJsonIndentFactor);

 			}

 		} catch (Exception e){

-				msoLogger.debug("xml2json(): unable to parse xml and convert to json. Exception was: " + e.toString());

+				msoLogger.debug("xml2json(): unable to parse xml and convert to json. Exception was: " + e.toString(), e);

 				return null;

 		}

 	}

@@ -106,7 +107,7 @@
 				return toXMLString(jsonObj, null);

 			}

 		} catch (Exception e){

-				msoLogger.debug("json2xml(): unable to parse json and convert to xml. Exception was: " + e.toString());

+				msoLogger.debug("json2xml(): unable to parse json and convert to xml. Exception was: " + e.toString(), e);

 				return null;

 		}

 	}

@@ -264,7 +265,7 @@
 			JSONObject jsonObj = new JSONObject(jsonStr);

 			return jsonObj.toString(MSOJsonIndentFactor);

 		} catch (Exception e){

-			msoLogger.debug("prettyJson(): unable to parse/format json input. Exception was: " + e.toString());

+			msoLogger.debug("prettyJson(): unable to parse/format json input. Exception was: " + e.toString(), e);

 			return null;

 		}

 	}

@@ -334,7 +335,7 @@
 					}

 				}

 		} catch (Exception e) {

-				msoLogger.debug("getJsonValue(): unable to parse json to retrieve value for field=" + keys + ". Exception was: " + e.toString());

+				msoLogger.debug("getJsonValue(): unable to parse json to retrieve value for field=" + keys + ". Exception was: " + e.toString(),e);

 		}

 		return null;

 	}

@@ -363,7 +364,7 @@
 					}

 				}

 		} catch (Exception e) {

-				msoLogger.debug("getJsonNodeValue(): unable to parse json to retrieve node for field=" + keys + ". Exception was: " + e.toString());

+				msoLogger.debug("getJsonNodeValue(): unable to parse json to retrieve node for field=" + keys + ". Exception was: " + e.toString(), e);

 		}

 		return null;

 	}

@@ -395,7 +396,7 @@
 					}

 				}

 		} catch (Exception e) {

-				msoLogger.debug("getJsonValue(): unable to parse json to retrieve value for field=" + keys + ". Exception was: " + e.toString());

+				msoLogger.debug("getJsonValue(): unable to parse json to retrieve value for field=" + keys + ". Exception was: " + e.toString(), e);

 		}

 		return 0;

 	}

@@ -424,7 +425,7 @@
 					}

 				}

 		} catch (Exception e) {

-				msoLogger.debug("getJsonValue(): unable to parse json to retrieve value for field=" + keys + ". Exception was: " + e.toString());

+				msoLogger.debug("getJsonValue(): unable to parse json to retrieve value for field=" + keys + ". Exception was: " + e.toString(),e);

 		}

 		return false;

 	}

@@ -500,9 +501,9 @@
 			}

 		} catch (JSONException je) {

 				// JSONObject::get() throws this exception if one of the specified keys is not found

-				msoLogger.debug("getJsonParamValue(): caught JSONException attempting to retrieve param value for keys:" + keys + ", name=" + name);

+				msoLogger.debug("getJsonParamValue(): caught JSONException attempting to retrieve param value for keys:" + keys + ", name=" + name, je);

 		} catch (Exception e) {

-				msoLogger.debug("getJsonParamValue(): unable to parse json to retrieve value for field=" + keys + ". Exception was: " + e.toString());

+				msoLogger.debug("getJsonParamValue(): unable to parse json to retrieve value for field=" + keys + ". Exception was: " + e.toString(), e);

 		}

 		return null;

 	}

@@ -523,7 +524,7 @@
 				return getJsonValueForKey(jsonObj, key);

 			}

 		} catch (Exception e) {

-				msoLogger.debug("getJsonValueForKey(): unable to parse json to retrieve value for field=" + key + ". Exception was: " + e.toString());

+				msoLogger.debug("getJsonValueForKey(): unable to parse json to retrieve value for field=" + key + ". Exception was: " + e.toString(), e);

 		}

 		return null;

 	}

@@ -567,10 +568,10 @@
 			}

 		} catch (JSONException je) {

 				// JSONObject::get() throws this exception if one of the specified keys is not found

-				msoLogger.debug("getJsonValueForKey(): caught JSONException attempting to retrieve value for key=" + key);

+				msoLogger.debug("getJsonValueForKey(): caught JSONException attempting to retrieve value for key=" + key, je);

 				keyValue = null;

 		} catch (Exception e) {

-				msoLogger.debug("getJsonValueForKey(): unable to parse json to retrieve value for field=" + key + ". Exception was: " + e.toString());

+				msoLogger.debug("getJsonValueForKey(): unable to parse json to retrieve value for field=" + key + ". Exception was: " + e.toString(), e);

 		}

 		return keyValue;

 	}

@@ -610,10 +611,10 @@
 			}

 		} catch (JSONException je) {

 				// JSONObject::get() throws this exception if one of the specified keys is not found

-				msoLogger.debug("getJsonValueForKey(): caught JSONException attempting to retrieve value for key=" + key);

+				msoLogger.debug("getJsonValueForKey(): caught JSONException attempting to retrieve value for key=" + key, je);

 				keyValue = null;

 		} catch (Exception e) {

-				msoLogger.debug("getJsonValueForKey(): unable to parse json to retrieve value for field=" + key + ". Exception was: " + e.toString());

+				msoLogger.debug("getJsonValueForKey(): unable to parse json to retrieve value for field=" + key + ". Exception was: " + e.toString(),e);

 		}

 		return keyValue;

 	}

@@ -653,10 +654,10 @@
 			}

 		} catch (JSONException je) {

 				// JSONObject::get() throws this exception if one of the specified keys is not found

-				msoLogger.debug("getJsonBooleanValueForKey(): caught JSONException attempting to retrieve value for key=" + key);

+				msoLogger.debug("getJsonBooleanValueForKey(): caught JSONException attempting to retrieve value for key=" + key,je);

 				keyValue = null;

 		} catch (Exception e) {

-				msoLogger.debug("getJsonBooleanValueForKey(): unable to parse json to retrieve value for field=" + key + ". Exception was: " + e.toString());

+				msoLogger.debug("getJsonBooleanValueForKey(): unable to parse json to retrieve value for field=" + key + ". Exception was: " + e.toString(),e);

 		}

 		return keyValue;

 	}

@@ -800,9 +801,9 @@
 

 		} catch (JSONException je) {

 				// JSONObject::get() throws this exception if one of the specified keys is not found

-				msoLogger.debug("getJsonRawValue(): caught JSONException attempting to retrieve raw value for key=" + keyStr);

+				msoLogger.debug("getJsonRawValue(): caught JSONException attempting to retrieve raw value for key=" + keyStr,je);

 		} catch (Exception e) {

-				msoLogger.debug("getJsonRawValue(): unable to parse json to retrieve value for field=" + keys + ". Exception was: " + e.toString());

+				msoLogger.debug("getJsonRawValue(): unable to parse json to retrieve value for field=" + keys + ". Exception was: " + e.toString(),e);

 		}

 		return null;

 	}

@@ -842,10 +843,10 @@
 

 		} catch (JSONException je) {

 				// JSONObject::get() throws this exception if one of the specified keys is not found

-				msoLogger.debug("putJsonValue(): caught JSONException attempting to retrieve value for key=" + keyStr);

+				msoLogger.debug("putJsonValue(): caught JSONException attempting to retrieve value for key=" + keyStr,je);

 				return null;

 		} catch (Exception e) {

-				msoLogger.debug("putJsonValue(): unable to parse json to put value for key=" + keys + ". Exception was: " + e.toString());

+				msoLogger.debug("putJsonValue(): unable to parse json to put value for key=" + keys + ". Exception was: " + e.toString(),e);

 		}

 		return null;

 	}

@@ -961,7 +962,7 @@
 				return true;

 			}

 		} catch (Exception e) {

-				msoLogger.debug("jsonElementExist(): unable to determine if json element exist. Exception is: " + e.toString());

+				msoLogger.debug("jsonElementExist(): unable to determine if json element exist. Exception is: " + e.toString(),e);

 		}

 		return true;

 	}

diff --git a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/json/JsonWrapper.java b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/json/JsonWrapper.java
index 8898f27..ac514b9 100644
--- a/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/json/JsonWrapper.java
+++ b/bpmn/MSOCoreBPMN/src/main/java/org/openecomp/mso/bpmn/core/json/JsonWrapper.java
@@ -15,12 +15,15 @@
 import com.fasterxml.jackson.databind.ObjectWriter;

 import com.fasterxml.jackson.databind.SerializationFeature;

 

+import org.openecomp.mso.logger.MsoLogger;

+

 @JsonInclude(Include.NON_NULL)

 public abstract class JsonWrapper implements Serializable  {

 	

 

 	private static final long serialVersionUID = 8633550139273639875L;

 

+	private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL);

 	@JsonInclude(Include.NON_NULL)

 	public String toJsonString(){

 		

@@ -45,7 +48,7 @@
 //		}

 		} catch (Exception e){

 

-			e.printStackTrace();

+			LOGGER.debug("Exception :",e);

 		}

 		return jsonString;

 	}

@@ -63,17 +66,13 @@
          try {

 			json = new JSONObject(mapper.writeValueAsString(this));

 		} catch (JsonGenerationException e) {

-			// TODO Auto-generated catch block

-			e.printStackTrace();

+			LOGGER.debug("Exception :",e);

 		} catch (JsonMappingException e) {

-			// TODO Auto-generated catch block

-			e.printStackTrace();

+			LOGGER.debug("Exception :",e);

 		} catch (JSONException e) {

-			// TODO Auto-generated catch block

-			e.printStackTrace();

+			LOGGER.debug("Exception :",e);

 		} catch (IOException e) {

-			// TODO Auto-generated catch block

-			e.printStackTrace();

+			LOGGER.debug("Exception :",e);

 		}		

          return json; 

 	}

@@ -86,14 +85,11 @@
 		try {

 			jsonString = mapper.writeValueAsString(list);

 		} catch (JsonGenerationException e) {

-			// TODO Auto-generated catch block

-			e.printStackTrace();

+			LOGGER.debug("Exception :",e);

 		} catch (JsonMappingException e) {

-			// TODO Auto-generated catch block

-			e.printStackTrace();

+			LOGGER.debug("Exception :",e);

 		} catch (IOException e) {

-			// TODO Auto-generated catch block

-			e.printStackTrace();

+			LOGGER.debug("Exception :",e);

 		}

 		return jsonString;

 	}

@@ -111,7 +107,7 @@
 			jsonString = ow.writeValueAsString(this);

 		} catch (Exception e){

 

-			e.printStackTrace();

+			LOGGER.debug("Exception :",e);

 		}

 		return jsonString;

 	}

diff --git a/bpmn/MSOMockServer/pom.xml b/bpmn/MSOMockServer/pom.xml
index 34f7a23..500535d 100644
--- a/bpmn/MSOMockServer/pom.xml
+++ b/bpmn/MSOMockServer/pom.xml
@@ -76,6 +76,11 @@
 			</exclusions>
 		</dependency>
 		<dependency>
+            <groupId>org.openecomp.so</groupId>
+            <artifactId>common</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+		<dependency>
 			<groupId>javax.ws.rs</groupId>
 			<artifactId>javax.ws.rs-api</artifactId>
 			<version>2.0</version>
diff --git a/bpmn/MSOMockServer/src/main/java/org/openecomp/mso/bpmn/mock/SDNCAdapterMockTransformer.java b/bpmn/MSOMockServer/src/main/java/org/openecomp/mso/bpmn/mock/SDNCAdapterMockTransformer.java
index 33a65e6..1f17a8b 100644
--- a/bpmn/MSOMockServer/src/main/java/org/openecomp/mso/bpmn/mock/SDNCAdapterMockTransformer.java
+++ b/bpmn/MSOMockServer/src/main/java/org/openecomp/mso/bpmn/mock/SDNCAdapterMockTransformer.java
@@ -2,7 +2,8 @@
  * ============LICENSE_START======================================================= 
  * ONAP - SO 
  * ================================================================================ 
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. 
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.
  * ================================================================================ 
  * Licensed under the Apache License, Version 2.0 (the "License"); 
  * you may not use this file except in compliance with the License. 
@@ -22,6 +23,7 @@
 
 import org.jboss.resteasy.client.ClientRequest;
 import org.jboss.resteasy.client.ClientResponse;
+import org.openecomp.mso.logger.MsoLogger;
 
 import com.github.tomakehurst.wiremock.client.ResponseDefinitionBuilder;
 import com.github.tomakehurst.wiremock.common.FileSource;
@@ -29,6 +31,7 @@
 import com.github.tomakehurst.wiremock.http.Request;
 import com.github.tomakehurst.wiremock.http.ResponseDefinition;
 
+import org.openecomp.mso.logger.MsoLogger;
 /**
  * 
  * Simulates SDNC Adapter Callback response
@@ -36,6 +39,7 @@
  */
 public class SDNCAdapterMockTransformer extends ResponseTransformer {
 
+	private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL);
 	private String callbackResponse;
 	private String requestId;
 	
@@ -121,8 +125,7 @@
 				//Delay sending callback response
 				sleep(delay);
 			} catch (InterruptedException e1) {
-				// TODO Auto-generated catch block
-				e1.printStackTrace();
+				LOGGER.debug("Exception :",e1);
 			}
 			System.out.println("Sending callback response:" + callbackUrl);
 			ClientRequest request = new ClientRequest(callbackUrl);
@@ -132,8 +135,7 @@
 				ClientResponse result = request.post();
 				//System.err.println("Successfully posted callback:" + result.getStatus());
 			} catch (Exception e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
+				LOGGER.debug("Exception :",e);
 			}
 		}
 		
diff --git a/bpmn/MSOMockServer/src/main/java/org/openecomp/mso/bpmn/mock/SDNCAdapterNetworkTopologyMockTransformer.java b/bpmn/MSOMockServer/src/main/java/org/openecomp/mso/bpmn/mock/SDNCAdapterNetworkTopologyMockTransformer.java
index 673ac00..b782c05 100644
--- a/bpmn/MSOMockServer/src/main/java/org/openecomp/mso/bpmn/mock/SDNCAdapterNetworkTopologyMockTransformer.java
+++ b/bpmn/MSOMockServer/src/main/java/org/openecomp/mso/bpmn/mock/SDNCAdapterNetworkTopologyMockTransformer.java
@@ -2,7 +2,8 @@
  * ============LICENSE_START======================================================= 
  * ONAP - SO 
  * ================================================================================ 
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. 
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved. 
  * ================================================================================ 
  * Licensed under the Apache License, Version 2.0 (the "License"); 
  * you may not use this file except in compliance with the License. 
@@ -29,8 +30,12 @@
 import com.github.tomakehurst.wiremock.http.Request;
 import com.github.tomakehurst.wiremock.http.ResponseDefinition;
 
+import org.openecomp.mso.logger.MsoLogger;
+
 public class SDNCAdapterNetworkTopologyMockTransformer extends ResponseTransformer {
 
+	private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL);
+	
 	private String callbackResponse;
 	private String requestId;
 	
@@ -110,7 +115,7 @@
 				sleep(delay);
 			} catch (InterruptedException e1) {
 				// TODO Auto-generated catch block
-				e1.printStackTrace();
+				LOGGER.debug("Exception :",e1);
 			}
 			System.out.println("Sending callback response to url: " + callbackUrl);
 			ClientRequest request = new ClientRequest(callbackUrl);
@@ -122,7 +127,7 @@
 			} catch (Exception e) {
 				// TODO Auto-generated catch block
 				System.out.println("catch error in - request.post() ");
-				e.printStackTrace();
+				LOGGER.debug("Exception :",e);
 			}
 		}
 		
diff --git a/bpmn/MSOMockServer/src/main/java/org/openecomp/mso/bpmn/mock/VnfAdapterCreateMockTransformer.java b/bpmn/MSOMockServer/src/main/java/org/openecomp/mso/bpmn/mock/VnfAdapterCreateMockTransformer.java
index 1e32077..ebedca8 100644
--- a/bpmn/MSOMockServer/src/main/java/org/openecomp/mso/bpmn/mock/VnfAdapterCreateMockTransformer.java
+++ b/bpmn/MSOMockServer/src/main/java/org/openecomp/mso/bpmn/mock/VnfAdapterCreateMockTransformer.java
@@ -6,6 +6,7 @@
  * ONAP - SO 
  * ================================================================================ 
  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. 
+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.
  * ================================================================================ 
  * Licensed under the Apache License, Version 2.0 (the "License"); 
  * you may not use this file except in compliance with the License. 
@@ -27,6 +28,7 @@
 
 import org.jboss.resteasy.client.ClientRequest;
 import org.jboss.resteasy.client.ClientResponse;
+import org.openecomp.mso.logger.MsoLogger;
 
 import com.github.tomakehurst.wiremock.client.ResponseDefinitionBuilder;
 import com.github.tomakehurst.wiremock.common.FileSource;
@@ -34,12 +36,15 @@
 import com.github.tomakehurst.wiremock.http.Request;
 import com.github.tomakehurst.wiremock.http.ResponseDefinition;
 
+import org.openecomp.mso.logger.MsoLogger;
 /**
  * Please describe the VnfAdapterCreateMockTransformer.java class
  *
  */
 public class VnfAdapterCreateMockTransformer extends ResponseTransformer {
 
+	private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL);
+	
 	private String notifyCallbackResponse;
 	private String ackResponse;
 
@@ -71,6 +76,7 @@
 			responseMessageId = ackResponse.substring(ackResponse.indexOf("<messageId>")+11, ackResponse.indexOf("</messageId>"));
 		    updatedResponse = ackResponse.replace(responseMessageId, messageId);
 		} catch (Exception ex) {
+			LOGGER.debug("Exception :",ex);
 			System.out.println(" ******* Use default response file in '__files/vnfAdapterMocks/vnfCreateSimResponse.xml'");
 		    responseMessageId = notifyCallbackResponse.substring(notifyCallbackResponse.indexOf("<messageId>")+11, notifyCallbackResponse.indexOf("</messageId>"));
 			updatedResponse = notifyCallbackResponse.replace(responseMessageId, messageId);
@@ -124,7 +130,7 @@
 				sleep(delay);
 			} catch (InterruptedException e1) {
 				// TODO Auto-generated catch block
-				e1.printStackTrace();
+				LOGGER.debug("Exception :",e1);
 			}
 			System.out.println("Sending callback response to url: " + callbackUrl);
 			ClientRequest request = new ClientRequest(callbackUrl);
@@ -138,7 +144,7 @@
 			} catch (Exception e) {
 				// TODO Auto-generated catch block
 				System.out.println("catch error in - request.post() ");
-				e.printStackTrace();
+				LOGGER.debug("Exception :",e);
 			}
 		}
 
diff --git a/bpmn/MSOMockServer/src/main/java/org/openecomp/mso/bpmn/mock/VnfAdapterDeleteMockTransformer.java b/bpmn/MSOMockServer/src/main/java/org/openecomp/mso/bpmn/mock/VnfAdapterDeleteMockTransformer.java
index 553aed6..b2c25fc 100644
--- a/bpmn/MSOMockServer/src/main/java/org/openecomp/mso/bpmn/mock/VnfAdapterDeleteMockTransformer.java
+++ b/bpmn/MSOMockServer/src/main/java/org/openecomp/mso/bpmn/mock/VnfAdapterDeleteMockTransformer.java
@@ -6,6 +6,7 @@
  * ONAP - SO 
  * ================================================================================ 
  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. 
+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.
  * ================================================================================ 
  * Licensed under the Apache License, Version 2.0 (the "License"); 
  * you may not use this file except in compliance with the License. 
@@ -25,19 +26,20 @@
 
 import org.jboss.resteasy.client.ClientRequest;
 import org.jboss.resteasy.client.ClientResponse;
+import org.openecomp.mso.logger.MsoLogger;
 
 import com.github.tomakehurst.wiremock.client.ResponseDefinitionBuilder;
 import com.github.tomakehurst.wiremock.common.FileSource;
 import com.github.tomakehurst.wiremock.extension.ResponseTransformer;
 import com.github.tomakehurst.wiremock.http.Request;
 import com.github.tomakehurst.wiremock.http.ResponseDefinition;
-
 /**
  * Please describe the VnfAdapterCreateMockTransformer.java class
  *
  */
 public class VnfAdapterDeleteMockTransformer extends ResponseTransformer {
 
+	private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL);
 
 	private String notifyCallbackResponse;
 	private String ackResponse;
@@ -72,6 +74,7 @@
 			responseMessageId = ackResponse.substring(ackResponse.indexOf("<messageId>")+11, ackResponse.indexOf("</messageId>"));
 		    updatedResponse = ackResponse.replace(responseMessageId, messageId);
 		} catch (Exception ex) {
+			LOGGER.debug("Exception :",ex);
 			System.out.println(" ******* Use default response file in '__files/vnfAdapterMocks/vnfDeleteSimResponse.xml'");
 		    responseMessageId = notifyCallbackResponse.substring(notifyCallbackResponse.indexOf("<messageId>")+11, notifyCallbackResponse.indexOf("</messageId>"));
 			updatedResponse = notifyCallbackResponse.replace(responseMessageId, messageId);
@@ -125,7 +128,7 @@
 				sleep(delay);
 			} catch (InterruptedException e1) {
 				// TODO Auto-generated catch block
-				e1.printStackTrace();
+				LOGGER.debug("Exception :",e1);
 			}
 			System.out.println("Sending callback response to url: " + callbackUrl);
 			ClientRequest request = new ClientRequest(callbackUrl);
@@ -138,7 +141,7 @@
 			} catch (Exception e) {
 				// TODO Auto-generated catch block
 				System.out.println("catch error in - request.post() ");
-				e.printStackTrace();
+				LOGGER.debug("Exception :",e);
 			}
 		}
 
diff --git a/bpmn/MSOMockServer/src/main/java/org/openecomp/mso/bpmn/mock/VnfAdapterQueryMockTransformer.java b/bpmn/MSOMockServer/src/main/java/org/openecomp/mso/bpmn/mock/VnfAdapterQueryMockTransformer.java
index c1d27d5..5aae339 100644
--- a/bpmn/MSOMockServer/src/main/java/org/openecomp/mso/bpmn/mock/VnfAdapterQueryMockTransformer.java
+++ b/bpmn/MSOMockServer/src/main/java/org/openecomp/mso/bpmn/mock/VnfAdapterQueryMockTransformer.java
@@ -2,7 +2,8 @@
  * ============LICENSE_START======================================================= 
  * ONAP - SO 
  * ================================================================================ 
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. 
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.
  * ================================================================================ 
  * Licensed under the Apache License, Version 2.0 (the "License"); 
  * you may not use this file except in compliance with the License. 
@@ -25,6 +26,7 @@
 
 import org.jboss.resteasy.client.ClientRequest;
 import org.jboss.resteasy.client.ClientResponse;
+import org.openecomp.mso.logger.MsoLogger;
 
 import com.github.tomakehurst.wiremock.client.ResponseDefinitionBuilder;
 import com.github.tomakehurst.wiremock.common.FileSource;
@@ -32,6 +34,7 @@
 import com.github.tomakehurst.wiremock.http.Request;
 import com.github.tomakehurst.wiremock.http.ResponseDefinition;
 
+import org.openecomp.mso.logger.MsoLogger;
 /**
  * Please describe the VnfAdapterQueryMockTransformer.java class
  *
@@ -40,6 +43,8 @@
 
 public class VnfAdapterQueryMockTransformer extends ResponseTransformer{
 	
+	private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL);
+	
 	private String notifyCallbackResponse;
 	private String ackResponse;
 	private String messageId;
@@ -84,6 +89,7 @@
 			responseMessageId = ackResponse.substring(ackResponse.indexOf("<messageId>")+11, ackResponse.indexOf("</messageId>"));
 		    updatedResponse = ackResponse.replace(responseMessageId, messageId); 
 		} catch (Exception ex) {
+			LOGGER.debug("Exception :",ex);
 			System.out.println(" ******* Use default response file in '__files/vnfAdapterMocks/vnfQuerySimResponse.xml'");
 		    responseMessageId = notifyCallbackResponse.substring(notifyCallbackResponse.indexOf("<messageId>")+11, notifyCallbackResponse.indexOf("</messageId>"));
 			updatedResponse = notifyCallbackResponse.replace(responseMessageId, messageId);
@@ -139,8 +145,7 @@
 				//Delay sending callback response
 				sleep(delay);
 			} catch (InterruptedException e1) {
-				// TODO Auto-generated catch block
-				e1.printStackTrace();
+				LOGGER.debug("Exception :",e1);
 			}
 			ClientRequest request = new ClientRequest(callbackUrl);
 			request.body("text/xml", payLoad);
@@ -149,8 +154,7 @@
 				ClientResponse result = request.post();
 				//System.err.println("Successfully posted callback:" + result.getStatus());
 			} catch (Exception e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
+				LOGGER.debug("Exception :",e);
 			}
 		}
 
diff --git a/bpmn/MSOMockServer/src/main/java/org/openecomp/mso/bpmn/mock/VnfAdapterRollbackMockTransformer.java b/bpmn/MSOMockServer/src/main/java/org/openecomp/mso/bpmn/mock/VnfAdapterRollbackMockTransformer.java
index 5207fa0..45a67de 100644
--- a/bpmn/MSOMockServer/src/main/java/org/openecomp/mso/bpmn/mock/VnfAdapterRollbackMockTransformer.java
+++ b/bpmn/MSOMockServer/src/main/java/org/openecomp/mso/bpmn/mock/VnfAdapterRollbackMockTransformer.java
@@ -5,7 +5,8 @@
  * ============LICENSE_START======================================================= 
  * ONAP - SO 
  * ================================================================================ 
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. 
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.
  * ================================================================================ 
  * Licensed under the Apache License, Version 2.0 (the "License"); 
  * you may not use this file except in compliance with the License. 
@@ -32,12 +33,15 @@
 import com.github.tomakehurst.wiremock.http.Request;
 import com.github.tomakehurst.wiremock.http.ResponseDefinition;
 
+import org.openecomp.mso.logger.MsoLogger;
 /**
  * Please describe the VnfAdapterCreateMockTransformer.java class
  *
  */
 public class VnfAdapterRollbackMockTransformer extends ResponseTransformer {
 
+	private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL);
+
 	private String notifyCallbackResponse;
 	private String ackResponse;
 	private String messageId;
@@ -74,6 +78,7 @@
 			responseMessageId = ackResponse.substring(ackResponse.indexOf("<messageId>")+11, ackResponse.indexOf("</messageId>"));
 		    updatedResponse = ackResponse.replace(responseMessageId, messageId); 
 		} catch (Exception ex) {
+			LOGGER.debug("Exception :",ex);
 			System.out.println(" ******* Use default response file in '__files/vnfAdapterMocks/vnfRollbackSimResponse.xml'");
 		    responseMessageId = notifyCallbackResponse.substring(notifyCallbackResponse.indexOf("<messageId>")+11, notifyCallbackResponse.indexOf("</messageId>"));
 			updatedResponse = notifyCallbackResponse.replace(responseMessageId, messageId);
@@ -125,8 +130,7 @@
 				//Delay sending callback response
 				sleep(delay);
 			} catch (InterruptedException e1) {
-				// TODO Auto-generated catch block
-				e1.printStackTrace();
+				LOGGER.debug("Exception :",e1);
 			}
 			System.out.println("Sending callback response to url: " + callbackUrl);
 			ClientRequest request = new ClientRequest(callbackUrl);
@@ -137,9 +141,8 @@
 				System.out.println("Successfully posted callback? Status: " + result.getStatus());
 				//System.err.println("Successfully posted callback:" + result.getStatus());
 			} catch (Exception e) {
-				// TODO Auto-generated catch block
 				System.out.println("catch error in - request.post() ");				
-				e.printStackTrace();
+				LOGGER.debug("Exception :",e);
 			}
 		}
 
diff --git a/bpmn/MSOMockServer/src/main/java/org/openecomp/mso/bpmn/mock/VnfAdapterUpdateMockTransformer.java b/bpmn/MSOMockServer/src/main/java/org/openecomp/mso/bpmn/mock/VnfAdapterUpdateMockTransformer.java
index e84e57c..d67ffcd 100644
--- a/bpmn/MSOMockServer/src/main/java/org/openecomp/mso/bpmn/mock/VnfAdapterUpdateMockTransformer.java
+++ b/bpmn/MSOMockServer/src/main/java/org/openecomp/mso/bpmn/mock/VnfAdapterUpdateMockTransformer.java
@@ -5,7 +5,8 @@
  * ============LICENSE_START======================================================= 
  * ONAP - SO 
  * ================================================================================ 
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. 
+ * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.
  * ================================================================================ 
  * Licensed under the Apache License, Version 2.0 (the "License"); 
  * you may not use this file except in compliance with the License. 
@@ -25,6 +26,7 @@
 
 import org.jboss.resteasy.client.ClientRequest;
 import org.jboss.resteasy.client.ClientResponse;
+import org.openecomp.mso.logger.MsoLogger;
 
 import com.github.tomakehurst.wiremock.client.ResponseDefinitionBuilder;
 import com.github.tomakehurst.wiremock.common.FileSource;
@@ -32,12 +34,15 @@
 import com.github.tomakehurst.wiremock.http.Request;
 import com.github.tomakehurst.wiremock.http.ResponseDefinition;
 
+import org.openecomp.mso.logger.MsoLogger;
 /**
  * Please describe the VnfAdapterUpdateMockTransformer.java class
  *
  */
 public class VnfAdapterUpdateMockTransformer extends ResponseTransformer {
 
+	private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL);
+	
 	private String notifyCallbackResponse;
 	private String requestId;
 	private String ackResponse;
@@ -74,6 +79,7 @@
 			responseMessageId = ackResponse.substring(ackResponse.indexOf("<messageId>")+11, ackResponse.indexOf("</messageId>"));
 		    updatedResponse = ackResponse.replace(responseMessageId, messageId); 
 		} catch (Exception ex) {
+			LOGGER.debug("Exception :",ex);
 			System.out.println(" ******* Use default response file in 'vnfAdapter/vnfUpdateSimResponse.xml'");
 		    responseMessageId = notifyCallbackResponse.substring(notifyCallbackResponse.indexOf("<messageId>")+11, notifyCallbackResponse.indexOf("</messageId>"));
 			updatedResponse = notifyCallbackResponse.replace(responseMessageId, messageId);
@@ -125,8 +131,7 @@
 				//Delay sending callback response
 				sleep(delay);
 			} catch (InterruptedException e1) {
-				// TODO Auto-generated catch block
-				e1.printStackTrace();
+				LOGGER.debug("Exception :", e1);
 			}
 			System.out.println("Sending callback response to url: " + callbackUrl);			
 			ClientRequest request = new ClientRequest(callbackUrl);
@@ -137,9 +142,8 @@
 				System.out.println("Successfully posted callback? Status: " + result.getStatus());				
 				//System.err.println("Successfully posted callback:" + result.getStatus());
 			} catch (Exception e) {
-				// TODO Auto-generated catch block
 				System.out.println("catch error in - request.post() ");
-				e.printStackTrace();
+				LOGGER.debug("Exception :",e);
 			}
 		}
 
diff --git a/bpmn/MSORESTClient/pom.xml b/bpmn/MSORESTClient/pom.xml
index b042a9e..1bcb3b7 100644
--- a/bpmn/MSORESTClient/pom.xml
+++ b/bpmn/MSORESTClient/pom.xml
@@ -35,6 +35,11 @@
 			<scope>test</scope>

 		</dependency>

 

+		<dependency>

+            <groupId>org.openecomp.so</groupId>

+            <artifactId>common</artifactId>

+            <version>${project.version}</version>

+        </dependency>

 		</dependencies>

 		<build>

 		<finalName>MSORESTClient</finalName>

diff --git a/bpmn/MSORESTClient/src/main/java/org/openecomp/mso/rest/RESTClient.java b/bpmn/MSORESTClient/src/main/java/org/openecomp/mso/rest/RESTClient.java
index 259f3d4..6504615 100644
--- a/bpmn/MSORESTClient/src/main/java/org/openecomp/mso/rest/RESTClient.java
+++ b/bpmn/MSORESTClient/src/main/java/org/openecomp/mso/rest/RESTClient.java
@@ -3,6 +3,7 @@
  * ONAP - SO
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -54,6 +55,7 @@
 import org.apache.http.message.AbstractHttpMessage;
 import org.apache.http.util.EntityUtils;
 
+import org.openecomp.mso.logger.MsoLogger;
 /**
  * Client used to send RESTFul requests.
  * <p>
@@ -82,6 +84,8 @@
  * @since 1.0
  */
 public class RESTClient {
+	
+	private static final MsoLogger LOGGER = MsoLogger.getMsoLogger(MsoLogger.Catalog.BPEL);
     private final String proxyHost;
     private final int proxyPort;
 
@@ -166,8 +170,7 @@
                 }
             }
         } catch (UnsupportedEncodingException e) {
-            // should not occur
-            e.printStackTrace();
+            LOGGER.debug("Exception :", e);
         }
         return sb.toString();
     }
@@ -197,6 +200,7 @@
 			clientBuilder = HttpClientBuilder.create().setConnectionManager(
 					manager);
 		} catch (Exception ex) {
+			LOGGER.debug("Exception :", ex);
 			throw new RESTException(ex.getMessage());
 		}
 		clientBuilder.disableRedirectHandling();
diff --git a/common/src/main/java/org/openecomp/mso/logger/MsoLogger.java b/common/src/main/java/org/openecomp/mso/logger/MsoLogger.java
index d41f241..19115ce 100644
--- a/common/src/main/java/org/openecomp/mso/logger/MsoLogger.java
+++ b/common/src/main/java/org/openecomp/mso/logger/MsoLogger.java
@@ -3,6 +3,7 @@
  * ONAP - SO
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
diff --git a/common/src/main/java/org/openecomp/mso/utils/UUIDChecker.java b/common/src/main/java/org/openecomp/mso/utils/UUIDChecker.java
index 1252333..b715717 100644
--- a/common/src/main/java/org/openecomp/mso/utils/UUIDChecker.java
+++ b/common/src/main/java/org/openecomp/mso/utils/UUIDChecker.java
@@ -3,6 +3,7 @@
  * ONAP - SO
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -28,6 +29,8 @@
 /**
  */
 public class UUIDChecker {
+	
+	private static final MsoLogger LOGGER = MsoLogger.getMsoLogger (MsoLogger.Catalog.GENERAL);
 
     private UUIDChecker() {
 
@@ -41,6 +44,7 @@
             UUID uuid = UUID.fromString(id);
             return uuid.toString().equalsIgnoreCase(id);
         } catch (IllegalArgumentException iae) {
+        	LOGGER.debug("IllegalArgumentException", iae);
             return false;
         }
     }
diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/ManualTasks.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/ManualTasks.java
index acdae29..f3273cf 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/ManualTasks.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/ManualTasks.java
@@ -3,6 +3,7 @@
  * ONAP - SO

  * ================================================================================

  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.

+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.

  * ================================================================================

  * Licensed under the Apache License, Version 2.0 (the "License");

  * you may not use this file except in compliance with the License.

@@ -190,7 +191,7 @@
 				completeResp = mapper.writeValueAsString(trr);

 			}

 			catch (Exception e) {

-				msoLogger.debug("Unable to format response");

+				msoLogger.debug("Unable to format response",e);

 				Response resp = msoRequest.buildServiceErrorResponse(bpelStatus,

 						MsoException.ServiceException,

 						"Request Failed due to bad response format" ,

diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/MsoRequest.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/MsoRequest.java
index e7a2334..eab232d 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/MsoRequest.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/MsoRequest.java
@@ -3,6 +3,7 @@
  * ONAP - SO
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -215,7 +216,7 @@
         	requestJSON = mapper.writeValueAsString(sir.getRequestDetails());
 
         } catch(Exception e){
-        	throw new ValidationException ("Parse ServiceInstanceRequest to JSON string");
+        	throw new ValidationException ("Parse ServiceInstanceRequest to JSON string",e);
         }
 
         if(instanceIdMap != null){
diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/OrchestrationRequests.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/OrchestrationRequests.java
index a176f69..26fdba4 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/OrchestrationRequests.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/OrchestrationRequests.java
@@ -3,6 +3,7 @@
  * ONAP - SO
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -343,7 +344,7 @@
        	requestDetails = mapper.readValue(requestBody, RequestDetails.class);
 
        }catch(Exception e){
-       	msoLogger.debug("Exception caught mapping requestBody to RequestDetails");
+       	msoLogger.debug("Exception caught mapping requestBody to RequestDetails",e);
        }
 
        request.setRequestDetails(requestDetails);
diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/ServiceInstances.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/ServiceInstances.java
index a196cc0..e32f153 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/ServiceInstances.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/ServiceInstances.java
@@ -3,6 +3,7 @@
  * ONAP - SO
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -649,7 +650,7 @@
 			msoRequest.updateFinalStatus (Status.FAILED);
 			msoLogger.error (MessageEnum.APIH_BPEL_COMMUNICATE_ERROR, MSO_PROP_APIHANDLER_INFRA, "", "", MsoLogger.ErrorCode.AvailabilityError, "Exception while communicate with BPMN engine");
 			msoLogger.recordAuditEvent (startTime, MsoLogger.StatusCode.ERROR, MsoLogger.ResponseCode.CommunicationError, "Exception while communicate with BPMN engine");
-			msoLogger.debug ("End of the transaction, the final response is: " + (String) resp.getEntity ());
+			msoLogger.debug ("End of the transaction, the final response is: " + (String) resp.getEntity (),e);
 			return resp;
 		}
 
diff --git a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/TasksHandler.java b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/TasksHandler.java
index b191a3d..1e8bea0 100644
--- a/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/TasksHandler.java
+++ b/mso-api-handlers/mso-api-handler-infra/src/main/java/org/openecomp/mso/apihandlerinfra/TasksHandler.java
@@ -164,7 +164,7 @@
 			msoRequest.updateFinalStatus (Status.FAILED);
 			msoLogger.error (MessageEnum.APIH_BPEL_COMMUNICATE_ERROR, MSO_PROP_APIHANDLER_INFRA, "", "", MsoLogger.ErrorCode.AvailabilityError, "Exception while communicate with BPMN engine");
 			msoLogger.recordAuditEvent (startTime, MsoLogger.StatusCode.ERROR, MsoLogger.ResponseCode.CommunicationError, "Exception while communicate with BPMN engine");
-			msoLogger.debug ("End of the transaction, the final response is: " + (String) resp.getEntity ());
+			msoLogger.debug ("End of the transaction, the final response is: " + (String) resp.getEntity (),e);
 			return resp;
 		}
 		TasksGetResponse trr = new TasksGetResponse();
@@ -206,7 +206,7 @@
 						
 						msoLogger.error (MessageEnum.APIH_BPEL_COMMUNICATE_ERROR, MSO_PROP_APIHANDLER_INFRA, "", "", MsoLogger.ErrorCode.AvailabilityError, "Exception while communicate with BPMN engine");
 						msoLogger.recordAuditEvent (startTime, MsoLogger.StatusCode.ERROR, MsoLogger.ResponseCode.CommunicationError, "Exception while communicate with BPMN engine");
-						msoLogger.debug ("End of the transaction, the final response is: " + (String) resp.getEntity ());
+						msoLogger.debug ("End of the transaction, the final response is: " + (String) resp.getEntity (),e);
 						return resp;
 					}
 					taskList.add(taskListEntry);				
@@ -235,7 +235,7 @@
 			jsonResponse = mapper.writeValueAsString(trr);
 		}
 		catch (Exception e) {
-			msoLogger.debug("Unable to format response");
+			msoLogger.debug("Unable to format response",e);
 			Response resp = msoRequest.buildServiceErrorResponse(500,
 					MsoException.ServiceException,
 					"Request Failed due to bad response format" ,
diff --git a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/CatalogDatabase.java b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/CatalogDatabase.java
index de46fd9..20450ca 100644
--- a/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/CatalogDatabase.java
+++ b/mso-catalog-db/src/main/java/org/openecomp/mso/db/catalog/CatalogDatabase.java
@@ -3,6 +3,7 @@
  * ONAP - SO
  * ================================================================================
  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017 Huawei Technologies Co., Ltd. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -329,7 +330,7 @@
         try {
         	environment = (HeatEnvironment) query.uniqueResult ();
         } catch (org.hibernate.NonUniqueResultException nure) {
-        	LOGGER.debug("Non Unique Result Exception - the Catalog Database does not match a unique row for Envt - data integrity error: artifactUuid='" + artifactUuid +"'");
+        	LOGGER.debug("Non Unique Result Exception - the Catalog Database does not match a unique row for Envt - data integrity error: artifactUuid='" + artifactUuid +"'", nure);
         	LOGGER.error(MessageEnum.GENERAL_EXCEPTION, " non unique result for heatEnvironment artifactUuid=" + artifactUuid, "", "", MsoLogger.ErrorCode.DataError, "Non unique result for artifactUuid==" + artifactUuid);
         	environment = null;
         } catch (org.hibernate.HibernateException he) {
@@ -554,7 +555,7 @@
         try {
             result = (Service) query.uniqueResult();
         } catch (org.hibernate.NonUniqueResultException nure) {
-            LOGGER.debug("Non Unique Result Exception - the Catalog Database does not match a unique row - data integrity error: modelInvariantId='" + modelInvariantId + "', modelVersion='" + modelVersion + "'");
+            LOGGER.debug("Non Unique Result Exception - the Catalog Database does not match a unique row - data integrity error: modelInvariantId='" + modelInvariantId + "', modelVersion='" + modelVersion + "'", nure);
             LOGGER.error(MessageEnum.GENERAL_EXCEPTION, " non unique result for modelInvariantId=" + modelInvariantId + " and modelVersion=" + modelVersion, "", "", MsoLogger.ErrorCode.DataError, "Non unique result for modelInvariantId=" + modelInvariantId);
             throw new Exception("Non Unique Result Exception - the Catalog Database does not match a unique row - data integrity error: modelInvariantId='" + modelInvariantId + "', modelVersion='" + modelVersion + "'");
         }
@@ -3537,8 +3538,7 @@
                     	//session.merge(heat);
                     	session.save(heat);
                     } catch (HibernateException he1) {
-                    	LOGGER.debug("Hibernate Exception encountered on first attempt at save(heat) - try again..." + he1.getMessage());
-                    	LOGGER.debug(he1.getStackTrace().toString());
+                    	LOGGER.debug("Hibernate Exception encountered on first attempt at save(heat) - try again..." + he1.getMessage(), he1);
                     	try {
                     		Session session = this.getSession();
                     		//session.merge(heat);
@@ -3548,24 +3548,24 @@
                     		LOGGER.debug(he2.getStackTrace().toString());
                     		throw he2;
                     	} catch (Exception e2) {
-                    		LOGGER.debug("General Exception encountered on second attempt at save(heat)..." + e2.getMessage());
+                    		LOGGER.debug("General Exception encountered on second attempt at save(heat)..." + e2.getMessage(),e2);
                     		LOGGER.debug(e2.getStackTrace().toString());
                     		throw e2;
                     	}
                     	
                     } catch (Exception e1) {
-                    	LOGGER.debug("General Exception encountered on first attempt at save(heat) - try again..." + e1.getMessage());
+                    	LOGGER.debug("General Exception encountered on first attempt at save(heat) - try again..." + e1.getMessage(), e1);
                     	LOGGER.debug(e1.getStackTrace().toString());
                     	try {
                     		Session session = this.getSession();
                     		//session.merge(heat);
                     		session.save(heat);
                     	} catch (HibernateException he2) {
-                    		LOGGER.debug("General Exception encountered on second attempt at save(heat)" + he2.getMessage());
+                    		LOGGER.debug("General Exception encountered on second attempt at save(heat)" + he2.getMessage(), he2);
                     		LOGGER.debug(he2.getStackTrace().toString());
                     		throw he2;
                     	} catch (Exception e2) {
-                    		LOGGER.debug("General Exception encountered on second attempt at save(heat)..." + e2.getMessage());
+                    		LOGGER.debug("General Exception encountered on second attempt at save(heat)..." + e2.getMessage(), e2);
                     		LOGGER.debug(e2.getStackTrace().toString());
                     		throw e2;
                     	}
@@ -3607,15 +3607,15 @@
         try {
         	env = (HeatEnvironment) query.uniqueResult ();
         } catch (org.hibernate.NonUniqueResultException nure) {
-        	LOGGER.debug("Non Unique Result Exception - the Catalog Database does not match a unique row - data integrity error: envName='" + name + "', version='" + version + "' and asdcResourceName=" + asdcResourceName);
+        	LOGGER.debug("Non Unique Result Exception - the Catalog Database does not match a unique row - data integrity error: envName='" + name + "', version='" + version + "' and asdcResourceName=" + asdcResourceName, nure);
         	LOGGER.error(MessageEnum.GENERAL_EXCEPTION, " non unique result for envName=" + name + " and version=" + version + " and asdcResourceName=" + asdcResourceName, "", "", MsoLogger.ErrorCode.DataError, "non unique result for envName=" + name);
         	env = null;
         } catch (org.hibernate.HibernateException he) {
-        	LOGGER.debug("Hibernate Exception - while searching for: envName='" + name + "', asdc_service_model_version='" + version + "' and asdcResourceName=" + asdcResourceName);
+        	LOGGER.debug("Hibernate Exception - while searching for: envName='" + name + "', asdc_service_model_version='" + version + "' and asdcResourceName=" + asdcResourceName, he);
         	LOGGER.error(MessageEnum.GENERAL_EXCEPTION, " Hibernate exception searching for envName=" + name + " and version=" + version + " and asdcResourceName=" + asdcResourceName, "", "", MsoLogger.ErrorCode.DataError, "Hibernate exception searching for envName=" + name);
         	env = null;
         } catch (Exception e) {
-        	LOGGER.debug("Generic Exception - while searching for: envName='" + name + "', asdc_service_model_version='" + version + "' and asdcResourceName=" + asdcResourceName);
+        	LOGGER.debug("Generic Exception - while searching for: envName='" + name + "', asdc_service_model_version='" + version + "' and asdcResourceName=" + asdcResourceName, e);
         	LOGGER.error(MessageEnum.GENERAL_EXCEPTION, " Generic exception searching for envName=" + name + " and version=" + version + " and asdcResourceName=" + asdcResourceName, "", "", MsoLogger.ErrorCode.DataError, "Generic exception searching for envName=" + name);
         	env = null;
         }
@@ -3767,7 +3767,7 @@
         try {
         	LOGGER.debug(vnfResourceCustomization.toString());
         } catch (Exception e) {
-        	LOGGER.debug("Unable to print VRC " + e.getMessage());
+        	LOGGER.debug("Unable to print VRC " + e.getMessage(), e);
         }
         try {
         		 // Check if NetworkResourceCustomzation record already exists.  If so, skip saving it.
@@ -3789,7 +3789,7 @@
         		try {
         			LOGGER.debug("Existing VRC entry found\n" + existing.toString());
         		} catch (Exception e) {
-        			LOGGER.debug("Unable to print VRC2 " + e.getMessage());
+        			LOGGER.debug("Unable to print VRC2 " + e.getMessage(), e);
         		}
         		return false;
             	}
@@ -4074,7 +4074,7 @@
         	LOGGER.debug("heat template id = " + vfModule.getHeatTemplateArtifactUUId() + ", vol template id = "+ vfModule.getVolHeatTemplateArtifactUUId());
         	LOGGER.debug(vfModule.toString());
         } catch (Exception e) {
-        	LOGGER.debug("unable to print vfmodule " + e.getMessage());
+        	LOGGER.debug("unable to print vfmodule " + e.getMessage(), e);
         }
         try {
         	VfModule existing = this.getVfModuleByModelUUID(vfModule.getModelUUID());
@@ -4087,7 +4087,7 @@
         		try {
         			LOGGER.debug("Found an existing vf module!\n" + existing.toString());
         		} catch (Exception e) {
-        			LOGGER.debug("unable to print vfmodule2 " + e.getMessage());
+        			LOGGER.debug("unable to print vfmodule2 " + e.getMessage(), e);
             }
         	}
         	
@@ -4137,7 +4137,7 @@
         	LOGGER.debug("env id = " + vfModuleCustomization.getHeatEnvironmentArtifactUuid() + ", vol Env=" + vfModuleCustomization.getVolEnvironmentArtifactUuid());
         	LOGGER.debug(vfModuleCustomization.toString());
         } catch (Exception e) {
-        	LOGGER.debug("unable to print vfmodulecust " + e.getMessage());
+        	LOGGER.debug("unable to print vfmodulecust " + e.getMessage(), e);
         }
         try {
         	VfModuleCustomization existing = this.getVfModuleCustomizationByModelCustomizationId(vfModuleCustomization.getModelCustomizationUuid());
@@ -4148,7 +4148,7 @@
         		try {
         			LOGGER.debug("Found an existing vf module customization entry\n" + existing.toString());
         		} catch (Exception e) {
-        			LOGGER.debug("unable to print vfmodulecust2 " + e.getMessage());
+        			LOGGER.debug("unable to print vfmodulecust2 " + e.getMessage(), e);
             	}
         	}
       
@@ -4420,7 +4420,7 @@
             
             return resultList.get (0);
         } catch (Exception e) {
-        	LOGGER.debug("Error trying to find Network Resource with " + modelUUID +", " + e.getMessage());
+        	LOGGER.debug("Error trying to find Network Resource with " + modelUUID +", " + e.getMessage(),e);
         } finally {
             LOGGER.recordMetricEvent (startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successfully", "CatalogDB", "getNetworkResourceByModelUuid", null);
         }
@@ -4544,7 +4544,7 @@
 
             return resultList.get (0);
         } catch (Exception e) {
-        	LOGGER.debug("Error trying to find Network Resource with " + modelCustomizationUuid +", " + e.getMessage());
+        	LOGGER.debug("Error trying to find Network Resource with " + modelCustomizationUuid +", " + e.getMessage(),e);
         } finally {
             LOGGER.recordMetricEvent (startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successfully", "CatalogDB", "getNetworkResourceByModelCustUuid", null);
         }
@@ -5062,7 +5062,7 @@
         	try {
         		LOGGER.debug("Returning theObjects:" + theObjects.size());
         	} catch (Exception e) {
-        		LOGGER.debug("Returning theObjects");
+        		LOGGER.debug("Returning theObjects",e);
         	}
         	LOGGER.recordMetricEvent (startTime, MsoLogger.StatusCode.COMPLETE, MsoLogger.ResponseCode.Suc, "Successfully", "CatalogDB", "executeQuerySingleRow", null);
         }