Policy TestSuite Enabled

Change-Id: I9f98c7dcdcf98713d73544956d873a84fc82adf7
Signed-off-by: Ravindra Bakkamanthala <rb7147@att.com>
diff --git a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/XACMLPapServlet.java b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/XACMLPapServlet.java
index c39ae8c..1b5f854 100644
--- a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/XACMLPapServlet.java
+++ b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/XACMLPapServlet.java
@@ -1166,7 +1166,7 @@
 				try {
 					apiRequestHandler.doDelete(request, response, loggingContext, apiflag);
 				} catch (Exception e) {
-					e.printStackTrace();
+					LOGGER.error("Exception Occured"+e);
 				}
 				if(apiRequestHandler.getNewGroup()!=null){
 					groupChanged(apiRequestHandler.getNewGroup());
diff --git a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/ActionPolicy.java b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/ActionPolicy.java
index b6a959b..aee2b38 100644
--- a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/ActionPolicy.java
+++ b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/ActionPolicy.java
@@ -262,7 +262,7 @@
 				LOGGER.info("Action Body is succesfully saved at " + file.getAbsolutePath());
 			}
 		} catch (IOException e) {
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 		}
 	}
 	
@@ -487,7 +487,7 @@
 		try {
 			jpaUtils = JPAUtils.getJPAUtilsInstance(XACMLPapServlet.getEmf());
 		} catch (Exception e) {
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 		}
 		Map<Datatype, List<FunctionDefinition>> functionMap = jpaUtils.getFunctionDatatypeMap();
 		Map<String, String> dropDownMap = new HashMap<String, String>();
diff --git a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/ClosedLoopPolicy.java b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/ClosedLoopPolicy.java
index c2ab845..264602a 100644
--- a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/ClosedLoopPolicy.java
+++ b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/ClosedLoopPolicy.java
@@ -80,7 +80,7 @@
 				}
 				this.policyAdapter.setJsonBody(body);
 			} catch (Exception e) {
-				e.printStackTrace();
+				LOGGER.error("Exception Occured"+e);
 			}
 
 			if(policyName.endsWith(".xml")){
@@ -92,7 +92,6 @@
 
 		} catch (Exception e) {
 			LOGGER.error("Exception Occured while writing Configuration Data"+e);
-			e.printStackTrace();
 		} 
 	}
 	
diff --git a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/ConfigPolicy.java b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/ConfigPolicy.java
index ff80458..cab76b9 100644
--- a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/ConfigPolicy.java
+++ b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/ConfigPolicy.java
@@ -100,7 +100,6 @@
 			}
 		} catch (IOException e) {
 			LOGGER.error("Exception Occured while writing Configuration Data"+e);
-			e.printStackTrace();
 		}
 	}
 
diff --git a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/CreateClosedLoopPerformanceMetrics.java b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/CreateClosedLoopPerformanceMetrics.java
index 5eb3493..dcb2a93 100644
--- a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/CreateClosedLoopPerformanceMetrics.java
+++ b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/CreateClosedLoopPerformanceMetrics.java
@@ -30,6 +30,15 @@
 import java.util.HashMap;
 import java.util.Map;
 
+import org.apache.commons.io.FilenameUtils;
+import org.openecomp.policy.common.logging.eelf.MessageCodes;
+import org.openecomp.policy.common.logging.eelf.PolicyLogger;
+import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
+import org.openecomp.policy.common.logging.flexlogger.Logger;
+import org.openecomp.policy.rest.adapter.PolicyRestAdapter;
+
+import com.att.research.xacml.std.IdentifierImpl;
+
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.AdviceExpressionType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.AdviceExpressionsType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.AllOfType;
@@ -44,15 +53,10 @@
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.RuleType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.TargetType;
 
-import org.apache.commons.io.FilenameUtils;
-import org.openecomp.policy.common.logging.eelf.MessageCodes;
-import org.openecomp.policy.common.logging.eelf.PolicyLogger;
-import org.openecomp.policy.rest.adapter.PolicyRestAdapter;
-
-import com.att.research.xacml.std.IdentifierImpl;
-
 public class CreateClosedLoopPerformanceMetrics extends Policy {
 	
+	private static final Logger LOGGER	= FlexLogger.getLogger(CreateClosedLoopPerformanceMetrics.class);
+	
 	public CreateClosedLoopPerformanceMetrics() {
 		super();
 	}
@@ -68,7 +72,7 @@
 			try {
 				body = jsonBody;
 			} catch (Exception e) {
-				e.printStackTrace();
+				LOGGER.error("Exception Occured"+e);
 			}
 			if(policyName.endsWith(".xml")){
 				policyName	 = policyName.substring(0, policyName.lastIndexOf(".xml"));	
@@ -80,7 +84,7 @@
 			out.close();
 
 		} catch (Exception e) {
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 		}
 	}
 	
diff --git a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/DecisionPolicy.java b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/DecisionPolicy.java
index 4c67d79..e5a114b 100644
--- a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/DecisionPolicy.java
+++ b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/DecisionPolicy.java
@@ -39,6 +39,8 @@
 
 import org.openecomp.policy.common.logging.eelf.MessageCodes;
 import org.openecomp.policy.common.logging.eelf.PolicyLogger;
+import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
+import org.openecomp.policy.common.logging.flexlogger.Logger;
 import org.openecomp.policy.controlloop.policy.builder.BuilderException;
 import org.openecomp.policy.controlloop.policy.builder.Results;
 import org.openecomp.policy.controlloop.policy.guard.Constraint;
@@ -77,7 +79,9 @@
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.VariableReferenceType;
 
 public class DecisionPolicy extends Policy {
-
+	
+	private static final Logger LOGGER	= FlexLogger.getLogger(DecisionPolicy.class);
+	
 	public static final String FUNCTION_NOT = "urn:oasis:names:tc:xacml:1.0:function:not";
 	private static final String AAFProvider = "AAF";
 	public static final String GUARD_YAML = "GUARD_YAML";
@@ -595,7 +599,7 @@
 		try {
 			jpaUtils = JPAUtils.getJPAUtilsInstance(XACMLPapServlet.getEmf());
 		} catch (Exception e) {
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 		}
 		Map<Datatype, List<FunctionDefinition>> functionMap = jpaUtils.getFunctionDatatypeMap();
 		Map<String, String> dropDownMap = new HashMap<String, String>();
diff --git a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/FirewallConfigPolicy.java b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/FirewallConfigPolicy.java
index 509da0b..9e59073 100644
--- a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/FirewallConfigPolicy.java
+++ b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/FirewallConfigPolicy.java
@@ -114,7 +114,7 @@
 				LOGGER.debug("Configuration is succesfully saved");
 			}
 		} catch (IOException e) {
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 		}
 	}
 	
@@ -372,7 +372,10 @@
 		assignment2.setCategory(CATEGORY_RESOURCE);
 		assignment2.setIssuer("");
 		AttributeValueType AttributeValue = new AttributeValueType();
-		AttributeValue.setDataType(URI_DATATYPE);	
+		AttributeValue.setDataType(URI_DATATYPE);
+		if (policyName.endsWith(".xml")) {
+			policyName = policyName.substring(0, policyName.lastIndexOf(".xml"));
+		}
 		String content = CONFIG_URL + "/Config/" + policyName + ".json";
 
 		AttributeValue.getContent().add(content);
@@ -1588,10 +1591,10 @@
 		JsonNode updatedJason = null;
 
 		try {
-		oldJason = JsonLoader.fromString(oldJson);
-		updatedJason = JsonLoader.fromString(json);
+			oldJason = JsonLoader.fromString(oldJson);
+			updatedJason = JsonLoader.fromString(json);
 		} catch (IOException e) {
-		e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 		}
 
 		JsonPatch jsonPatch = JsonDiff.asJsonPatch(oldJason, updatedJason);
diff --git a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/MicroServiceConfigPolicy.java b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/MicroServiceConfigPolicy.java
index c5fdc18..736069d 100644
--- a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/MicroServiceConfigPolicy.java
+++ b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/MicroServiceConfigPolicy.java
@@ -98,7 +98,6 @@
 			out.close();
 		} catch (Exception e) {
 			LOGGER.error("Exception Occured While writing Configuration data"+e);
-			e.printStackTrace();
 		} 
 	}
 	
diff --git a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/Policy.java b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/Policy.java
index 0f8ccfb..743883b 100644
--- a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/Policy.java
+++ b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/Policy.java
@@ -35,15 +35,12 @@
 import javax.json.Json;
 import javax.json.JsonReader;
 
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeDesignatorType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeValueType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.MatchType;
-import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType;
-
 import org.apache.commons.io.FilenameUtils;
 import org.json.JSONObject;
 import org.openecomp.policy.common.logging.eelf.MessageCodes;
 import org.openecomp.policy.common.logging.eelf.PolicyLogger;
+import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
+import org.openecomp.policy.common.logging.flexlogger.Logger;
 import org.openecomp.policy.rest.XACMLRestProperties;
 import org.openecomp.policy.rest.adapter.PolicyRestAdapter;
 import org.openecomp.policy.xacml.util.XACMLPolicyWriter;
@@ -53,7 +50,15 @@
 import com.att.research.xacmlatt.pdp.policy.PolicyDef;
 import com.att.research.xacmlatt.pdp.policy.dom.DOMPolicyDef;
 
+import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeDesignatorType;
+import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeValueType;
+import oasis.names.tc.xacml._3_0.core.schema.wd_17.MatchType;
+import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType;
+
 public abstract class Policy {
+	
+	private static final Logger LOGGER	= FlexLogger.getLogger(Policy.class);
+	
 
 	/**
 	 * Common Fields
@@ -158,7 +163,7 @@
 		try {
 			uri = new URI(key);
 		} catch (URISyntaxException e) {
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 		}
 		attributeDesignator.setCategory(CATEGORY_ACCESS_SUBJECT);
 		attributeDesignator.setDataType(STRING_DATATYPE);
@@ -184,7 +189,7 @@
 		try {
 			dynamicURI = new URI(key);
 		} catch (URISyntaxException e) {
-			e.printStackTrace();// log msg
+			LOGGER.error("Exception Occured"+e);// log msg
 		}
 		dynamicAttributeDesignator.setCategory(CATEGORY_RESOURCE);
 		dynamicAttributeDesignator.setDataType(dataType);
diff --git a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/PolicyDBDao.java b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/PolicyDBDao.java
index a63dacb..eaceb65 100644
--- a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/PolicyDBDao.java
+++ b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/components/PolicyDBDao.java
@@ -200,7 +200,7 @@
 			}
 		} catch(Exception e){
 			System.out.println("Could not get lock entity");
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 		}
 		if(lock == null){
 			throw new IllegalStateException("The lock row does not exist in the table. Please create a primary key with value = 1.");	
@@ -1157,7 +1157,7 @@
 				try {
 					FileUtils.forceMkdir(groupPath.toFile());
 				} catch (IOException e) {
-					e.printStackTrace();
+					logger.error("Exception Occured"+e);
 				}
 			}
 				Properties policyProperties = new Properties();
@@ -1628,7 +1628,7 @@
 			auditGroups(papEngine2);
 		} catch(Exception e){
 			PolicyLogger.error(MessageCodes.EXCEPTION_ERROR, e, "PolicyDBDao", "auditLocalDatabase() error");
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 		}		
 	}
 
@@ -2150,7 +2150,7 @@
 					try{
 						em.close();
 					} catch(Exception e){
-						e.printStackTrace();
+						logger.error("Exception Occured"+e);
 					}
 					return;
 				}
diff --git a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/controller/BRMSDictionaryController.java b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/controller/BRMSDictionaryController.java
index 09c995d..31f2e73 100644
--- a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/controller/BRMSDictionaryController.java
+++ b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/controller/BRMSDictionaryController.java
@@ -242,7 +242,6 @@
         }
         catch (Exception e){
             LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-            e.printStackTrace();
         }
     }
     
@@ -262,7 +261,6 @@
             LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
             response.setStatus(HttpServletResponse.SC_BAD_REQUEST);                             
             response.addHeader("error", "dictionaryDBQuery");
-            e.printStackTrace();
         }
     }
     
@@ -402,7 +400,6 @@
         }
         catch (Exception e){
             LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-            e.printStackTrace();
         }
     }
     
@@ -422,7 +419,6 @@
             LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
             response.setStatus(HttpServletResponse.SC_BAD_REQUEST);                             
             response.addHeader("error", "dictionaryDBQuery");
-            e.printStackTrace();
         }
     }
     
diff --git a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/controller/EnforcerDictionaryController.java b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/controller/EnforcerDictionaryController.java
index 7bf0a03..b040202 100644
--- a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/controller/EnforcerDictionaryController.java
+++ b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/controller/EnforcerDictionaryController.java
@@ -30,6 +30,8 @@
 import javax.servlet.http.HttpServletResponse;
 
 import org.json.JSONObject;
+import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
+import org.openecomp.policy.common.logging.flexlogger.Logger;
 import org.openecomp.policy.pap.xacml.rest.util.JsonMessage;
 import org.openecomp.policy.rest.dao.CommonClassDao;
 import org.openecomp.policy.rest.jpa.EnforcingType;
@@ -46,6 +48,8 @@
 @Controller
 public class EnforcerDictionaryController {
 
+	private static final Logger LOGGER	= FlexLogger.getLogger(EnforcerDictionaryController.class);
+	
 	@Autowired
 	CommonClassDao commonClassDao;
 
@@ -66,7 +70,7 @@
 			response.getWriter().write(j.toString());
 		}
 		catch (Exception e){
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 		}
 	}
 	
diff --git a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/controller/FirewallDictionaryController.java b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/controller/FirewallDictionaryController.java
index 2c0d3de..a553d61 100644
--- a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/controller/FirewallDictionaryController.java
+++ b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/controller/FirewallDictionaryController.java
@@ -1333,7 +1333,7 @@
 			response.getWriter().write(j.toString());
 		}
 		catch (Exception e){
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 		}
 	}
 
@@ -1885,7 +1885,6 @@
 		}
 		catch (Exception e){
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
 		}
 	}
 
@@ -1901,7 +1900,6 @@
 		}
 		catch (Exception e){
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
 		}
 	}
 
@@ -2050,7 +2048,6 @@
 		}
 		catch (Exception e){
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
 		}
 	}
 
@@ -2066,7 +2063,6 @@
 		}
 		catch (Exception e){
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
 		}
 	}
 
diff --git a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/controller/PolicyScopeDictionaryController.java b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/controller/PolicyScopeDictionaryController.java
index ab86ce2..bfab03f 100644
--- a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/controller/PolicyScopeDictionaryController.java
+++ b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/controller/PolicyScopeDictionaryController.java
@@ -83,7 +83,7 @@
 			response.getWriter().write(j.toString());
 		}
 		catch (Exception e){
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 		}
 	}
 
@@ -296,7 +296,7 @@
 			response.getWriter().write(j.toString());
 		}
 		catch (Exception e){
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 		}
 	}
 
@@ -448,7 +448,7 @@
 			response.getWriter().write(j.toString());
 		}
 		catch (Exception e){
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 		}
 	}
 
@@ -597,7 +597,7 @@
 			response.getWriter().write(j.toString());
 		}
 		catch (Exception e){
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 		}
 	}
 
@@ -752,7 +752,7 @@
 			response.getWriter().write(j.toString());
 		}
 		catch (Exception e){
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 		}
 	}
 
diff --git a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/controller/PushPolicyController.java b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/controller/PushPolicyController.java
index 046bb3c..f468b37 100644
--- a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/controller/PushPolicyController.java
+++ b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/controller/PushPolicyController.java
@@ -241,7 +241,7 @@
 			XACMLPapServlet.getPAPEngine().updateGroup(selectedPDPGroup);
 		} catch (PAPException e) {
 			// TODO Auto-generated catch block
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 		}
 		// policy file copied ok and the Group was updated on the PDP
 		response.setStatus(HttpServletResponse.SC_NO_CONTENT);
diff --git a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/controller/SafePolicyController.java b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/controller/SafePolicyController.java
index 1f84ae0..6f8f3db 100644
--- a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/controller/SafePolicyController.java
+++ b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/controller/SafePolicyController.java
@@ -78,7 +78,7 @@
 			JSONObject j = new JSONObject(msg);
 			response.getWriter().write(j.toString());
 		} catch (Exception e) {
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 		}
 	}
 
@@ -237,7 +237,7 @@
 			JSONObject j = new JSONObject(msg);
 			response.getWriter().write(j.toString());
 		} catch (Exception e) {
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 		}
 	}
 
diff --git a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/elk/client/PolicyElasticSearchController.java b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/elk/client/PolicyElasticSearchController.java
index a067e90..3a87a16 100644
--- a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/elk/client/PolicyElasticSearchController.java
+++ b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/elk/client/PolicyElasticSearchController.java
@@ -42,6 +42,7 @@
 import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
 import org.openecomp.policy.common.logging.flexlogger.Logger;
 import org.openecomp.policy.pap.xacml.rest.elk.client.ElkConnector.PolicyIndexType;
+import org.openecomp.policy.pap.xacml.rest.util.JsonMessage;
 import org.openecomp.policy.rest.adapter.PolicyRestAdapter;
 import org.openecomp.policy.rest.dao.CommonClassDao;
 import org.openecomp.policy.rest.jpa.ActionPolicyDict;
@@ -51,8 +52,8 @@
 import org.openecomp.policy.rest.jpa.ClosedLoopSite;
 import org.openecomp.policy.rest.jpa.DCAEuuid;
 import org.openecomp.policy.rest.jpa.DecisionSettings;
+import org.openecomp.policy.rest.jpa.DescriptiveScope;
 import org.openecomp.policy.rest.jpa.EcompName;
-import org.openecomp.policy.rest.jpa.EnforcingType;
 import org.openecomp.policy.rest.jpa.GroupPolicyScopeList;
 import org.openecomp.policy.rest.jpa.MicroServiceLocation;
 import org.openecomp.policy.rest.jpa.MicroServiceModels;
@@ -66,11 +67,13 @@
 import org.openecomp.policy.xacml.api.XACMLErrorConstants;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.servlet.ModelAndView;
 
 import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.google.gson.JsonArray;
 
 import io.searchbox.client.JestResult;
 
@@ -79,17 +82,18 @@
 public class PolicyElasticSearchController{
 
 	private static final Logger LOGGER = FlexLogger.getLogger(PolicyElasticSearchController.class);
-	private List<JSONObject> policyNames = null;
 
 	enum Mode{
-		attribute, ecompName, actionPolicy, brmsParam, pepOptions, clSite, clService, clVarbind, clVnf, clVSCL, decision, enforcer, fwTerm, msDCAEUUID, msConfigName, msLocation, msModels,
+		attribute, ecompName, actionPolicy, brmsParam, pepOptions,
+		clSite, clService, clVarbind, clVnf, clVSCL, decision, 
+		fwTerm, msDCAEUUID, msConfigName, msLocation, msModels,
 		psGroupPolicy, safeRisk, safePolicyWarning
 	}
 
 	public static final HashMap<String, String> name2jsonPath = new HashMap<String, String>() {
 		private static final long serialVersionUID = 1L;
 	};
-
+	
 	public static CommonClassDao commonClassDao;
 
 	public PolicyElasticSearchController(CommonClassDao commonClassDao) {
@@ -99,17 +103,14 @@
 	public PolicyElasticSearchController() {}
 
 	public static void TurnOffCertsCheck() {
-
 		// Create a trust manager that does not validate certificate chains
 		TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {
 			public java.security.cert.X509Certificate[] getAcceptedIssuers() {
 				return null;
 			}
-
 			public void checkClientTrusted(X509Certificate[] certs,
 					String authType) {
 			}
-
 			public void checkServerTrusted(X509Certificate[] certs,
 					String authType) {
 			}
@@ -137,43 +138,13 @@
 		HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);
 	}
 
-	protected void clSearchBody(String clPolicyType, String bodyField, String bodyValue,
-			ArrayList<Pair<ArrayList<String>, ArrayList<String>>> filter_s) {
-		if (LOGGER.isDebugEnabled())
-			LOGGER.debug("ENTER: " + clPolicyType + ":" + bodyField + ":" + bodyValue);
+	
 
-		final ArrayList<String> clBodyField_s = new ArrayList<String>();
-		final ArrayList<String> clBodyValue_s = new ArrayList<String>();
-
-		if (clPolicyType == null || clPolicyType.isEmpty()) {
-			clBodyField_s.add("Policy.Body." + ElkConnector.PolicyType.Config_Fault.name() + "_Body." + bodyField);
-			clBodyField_s.add("Policy.Body."+ ElkConnector.PolicyType.Config_PM.name() + "_Body." + bodyField);
-			clBodyValue_s.add(bodyValue);
-		} else {
-			clBodyField_s.add("Policy.Body." + clPolicyType + "_Body." + bodyField);
-			clBodyValue_s.add(bodyValue);
-		}
-		filter_s.add(new Pair<ArrayList<String>, ArrayList<String>>(clBodyField_s, clBodyValue_s));
-	}
-
-	protected void clSearchFilter(String clType, String clField, String clValue, 
-			ArrayList<Pair<ArrayList<String>,ArrayList<String>>> filter_s) {
-		if (LOGGER.isDebugEnabled())
-			LOGGER.debug("ENTER: " + clType + ":" + clField + ":" + clValue);
-
-		ArrayList<String> clSearchField_s = new ArrayList<String>();
-		clSearchField_s.add("Policy.Body." + clType + "_Body." + clField);
-
-		ArrayList<String> clSearchValue_s = new ArrayList<String>();
-		clSearchValue_s.add(clValue);
-
-		filter_s.add(new Pair<ArrayList<String>,ArrayList<String>>(clSearchField_s, clSearchValue_s));
-	}
-
+	
 	public ElkConnector.PolicyIndexType toPolicyIndexType(String type) throws IllegalArgumentException {
-		if (type == null || type.isEmpty())
+		if (type == null || type.isEmpty()){
 			return PolicyIndexType.all;
-
+		}
 		return PolicyIndexType.valueOf(type);
 	}
 
@@ -217,123 +188,257 @@
 		return success;
 	}
 
+	
+	@RequestMapping(value="/searchPolicy", method= RequestMethod.POST)
+	public void searchPolicy(HttpServletRequest request, HttpServletResponse response) {
+		try{
+			boolean result = false;
+			boolean policyResult = false;
+			ObjectMapper mapper = new ObjectMapper();
+			mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
+			PolicyRestAdapter policyData = new PolicyRestAdapter();
+			PolicyElasticSearchController controller = new PolicyElasticSearchController();
+			Map<String, String> searchKeyValue = new HashMap<String, String>();
+			List<String> policyList = new ArrayList<String>();
+			if(request.getParameter("policyName") != null){
+				String policyName = request.getParameter("policyName");
+				policyData.setNewFileName(policyName);
+				if("delete".equalsIgnoreCase(request.getParameter("action"))){
+					result = controller.deleteElk(policyData);
+				}else{
+					result = controller.updateElk(policyData);
+				}
+			}
+			if("search".equalsIgnoreCase(request.getParameter("action"))){
+				try {
+					JsonNode root = mapper.readTree(request.getReader());
+					SearchData searchData = (SearchData)mapper.readValue(root.get("searchdata").toString(), SearchData.class);
+
+					String policyType = searchData.getPolicyType();
+					
+					String searchText = searchData.getQuery();
+					String descriptivevalue = searchData.getDescriptiveScope();
+					if(descriptivevalue != null){
+						DescriptiveScope dsSearch = (DescriptiveScope) commonClassDao.getEntityItem(DescriptiveScope.class, "descriptiveScopeName", searchData.getDescriptiveScope());
+						if(dsSearch != null){
+							String[] descriptiveList =  dsSearch.getSearch().split("AND");
+							for(String keyValue : descriptiveList){
+								String[] entry = keyValue.split(":");
+								searchKeyValue.put(entry[0], entry[1]);
+							}
+						}
+					}
+					
+					if(searchData.getClosedLooppolicyType() != null){
+						String closedLoopType;
+						if("Config_Fault".equalsIgnoreCase(searchData.getClosedLooppolicyType())){
+							closedLoopType  = "ClosedLoop_Fault";
+						}else{
+							closedLoopType  = "ClosedLoop_PM";
+						}
+						searchKeyValue.put("configPolicyType", closedLoopType);
+					}
+					if(searchData.getEcompName() != null){
+						searchKeyValue.put("ecompName", searchData.getEcompName());
+					}
+					if(searchData.getD2Service() != null){
+						String d2Service = searchData.getD2Service().trim();
+						if(d2Service.equalsIgnoreCase("Hosted Voice (Trinity)")){
+							d2Service = "trinity";
+						}else if(d2Service.equalsIgnoreCase("vUSP")){
+							d2Service = "vUSP";
+						}else if(d2Service.equalsIgnoreCase("MCR")){
+							d2Service = "mcr";
+						}else if(d2Service.equalsIgnoreCase("Gamma")){
+							d2Service = "gamma";
+						}else if(d2Service.equalsIgnoreCase("vDNS")){
+							d2Service = "vDNS";
+						}
+						searchKeyValue.put("jsonBodyData."+d2Service+"", "true");
+					}	
+					if(searchData.getVnfType() != null){
+						searchKeyValue.put("jsonBodyData.vnfType", searchData.getVnfType());					
+					}
+					if(searchData.getPolicyStatus() != null){
+						searchKeyValue.put("jsonBodyData.closedLoopPolicyStatus", searchData.getPolicyStatus());
+					}
+					if(searchData.getVproAction() != null){
+						searchKeyValue.put("jsonBodyData.actions", searchData.getVproAction());
+					}
+					if(searchData.getServiceType() != null){
+						searchKeyValue.put("jsonBodyData.serviceTypePolicyName", searchData.getServiceType());
+					}
+					if(searchData.getBindTextSearch() != null){
+						searchKeyValue.put(searchData.getBindTextSearch(), searchText);
+						searchText = null;
+					}
+					PolicyIndexType type = null;
+					if(policyType != null){
+						if(policyType.equalsIgnoreCase("action")){
+							type = ElkConnector.PolicyIndexType.action;
+						}else if(policyType.equalsIgnoreCase("decision")){
+							type = ElkConnector.PolicyIndexType.decision;
+						}else if(policyType.equalsIgnoreCase("config")){
+							type = ElkConnector.PolicyIndexType.config;
+						}else {
+							type = ElkConnector.PolicyIndexType.closedloop;
+						}
+					}else{
+						type = ElkConnector.PolicyIndexType.all;
+					}
+					JestResult policyResultList = controller.search(type, searchText, searchKeyValue);
+					if(policyResultList.isSucceeded()){
+						result = true;
+						policyResult = true;
+						JsonArray resultObject = policyResultList.getJsonObject().get("hits").getAsJsonObject().get("hits").getAsJsonArray();
+						for(int i =0; i < resultObject.size(); i++){
+							String policyName = resultObject.get(i).getAsJsonObject().get("_id").toString();
+							policyList.add(policyName);
+						}
+					}else{
+						LOGGER.error("Exception Occured While Searching for Data in Elastic Search Server, Check the Logs");
+					}
+				}catch(Exception e){
+					LOGGER.error("Exception Occured While Searching for Data in Elastic Search Server" + e);
+				}
+			}
+			String message="";
+			if(result){
+				message = "Elastic Server Transaction is success";
+			}else{
+				message = "Elastic Server Transaction is failed, please check the logs";
+			}
+			JsonMessage msg = new JsonMessage(mapper.writeValueAsString(message));
+			JSONObject j = new JSONObject(msg);
+			response.setStatus(HttpServletResponse.SC_OK);
+			response.addHeader("success", "success"); 
+			if(policyResult){
+				JSONObject k = new JSONObject("{policyresult: " + policyList + "}");
+				response.getWriter().write(k.toString());
+			}else{
+				response.getWriter().write(j.toString());
+			}
+		}catch(Exception e){
+			response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
+			response.addHeader("error", "Exception Occured While Performing Elastic Transaction");
+			LOGGER.error("Exception Occured While Performing Elastic Transaction"+e.getMessage());
+		}
+	}
+	
 	@RequestMapping(value={"/searchDictionary"}, method={org.springframework.web.bind.annotation.RequestMethod.POST})
 	public ModelAndView searchDictionary(HttpServletRequest request, HttpServletResponse response) throws Exception{
 		try{
+			PolicyIndexType config = PolicyIndexType.config;
+			PolicyIndexType closedloop = PolicyIndexType.closedloop;
+			PolicyIndexType action = PolicyIndexType.action;
+			PolicyIndexType decision = PolicyIndexType.decision;
+			PolicyIndexType all = PolicyIndexType.all;
+			
 			ObjectMapper mapper = new ObjectMapper();
 			mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
 			JsonNode root = mapper.readTree(request.getReader());
 			String dictionaryType = root.get("type").textValue();
 			Mode mode = Mode.valueOf(dictionaryType);
 			String value; 
-			@SuppressWarnings("unused")
-			String msg;
+			List<String> policyList = new ArrayList<String>();
 			switch (mode){
 			case attribute :
 				Attribute attributedata = (Attribute)mapper.readValue(root.get("data").toString(), Attribute.class);
 				value = attributedata.getXacmlId();
-				msg = searchElkDatabase("pholder",value);
+				policyList = searchElkDatabase(all, "pholder",value);
 				break;
 			case ecompName :
 				EcompName ecompName = (EcompName)mapper.readValue(root.get("data").toString(), EcompName.class);
 				value = ecompName.getEcompName();
-				msg = searchElkDatabase("pholder",value);
+				policyList = searchElkDatabase(all, "ecompName",value);
 				break;
 			case actionPolicy :
 				ActionPolicyDict actionPolicyDict = (ActionPolicyDict)mapper.readValue(root.get("data").toString(), ActionPolicyDict.class);
 				value = actionPolicyDict.getAttributeName();
-				msg = searchElkDatabase("pholder",value);
+				policyList = searchElkDatabase(action, "actionAttributeValue",value);
 				break;
 			case brmsParam :
 				BRMSParamTemplate bRMSParamTemplate = (BRMSParamTemplate)mapper.readValue(root.get("data").toString(), BRMSParamTemplate.class);
 				value = bRMSParamTemplate.getRuleName();
-				msg = searchElkDatabase("BRMSParamTemplate AND " + value);
+				policyList = searchElkDatabase(config, "ruleName",value);
 				break;
 			case pepOptions :
 				PEPOptions pEPOptions = (PEPOptions)mapper.readValue(root.get("data").toString(), PEPOptions.class);
 				value = pEPOptions.getPepName();
-				msg = searchElkDatabase("pepName",value);
+				policyList = searchElkDatabase(closedloop,"jsonBodyData.pepName",value);
 				break;
 			case clSite :
 				ClosedLoopSite closedLoopSite = (ClosedLoopSite)mapper.readValue(root.get("data").toString(), ClosedLoopSite.class);
 				value = closedLoopSite.getSiteName();
-				msg = searchElkDatabase("siteNames",value);
+				policyList = searchElkDatabase(closedloop,"siteNames",value);
 				break;
 			case clService :
 				ClosedLoopD2Services closedLoopD2Services = (ClosedLoopD2Services)mapper.readValue(root.get("data").toString(), ClosedLoopD2Services.class);
 				value = closedLoopD2Services.getServiceName();
-				msg = searchElkDatabase("d2Services",value);
+				policyList = searchElkDatabase(closedloop, "pholder",value);
 				break;
 			case clVarbind :
 				VarbindDictionary varbindDictionary = (VarbindDictionary)mapper.readValue(root.get("data").toString(), VarbindDictionary.class);
 				value = varbindDictionary.getVarbindName();
-				msg = searchElkDatabase("triggerSignaturesUsedForUI.signatures",value);
+				policyList = searchElkDatabase(closedloop, "jsonBodyData.triggerSignaturesUsedForUI.signatures",value);
 				break;
 			case clVnf :
 				VNFType vNFType = (VNFType)mapper.readValue(root.get("data").toString(), VNFType.class);
 				value = vNFType.getVnftype();
-				msg = searchElkDatabase("vnfType",value);
+				policyList = searchElkDatabase(closedloop, "jsonBodyData.vnfType",value);
 				break;
 			case clVSCL :
 				VSCLAction vsclAction = (VSCLAction)mapper.readValue(root.get("data").toString(), VSCLAction.class);
 				value = vsclAction.getVsclaction();
-				msg = searchElkDatabase("actions",value);
+				policyList = searchElkDatabase(closedloop, "jsonBodyData.actions",value);
 				break;
 			case decision :
 				DecisionSettings decisionSettings = (DecisionSettings)mapper.readValue(root.get("data").toString(), DecisionSettings.class);
 				value = decisionSettings.getXacmlId();
-				msg = searchElkDatabase("pholder",value);
-				break;
-			case enforcer :
-				EnforcingType enforcingType = (EnforcingType)mapper.readValue(root.get("data").toString(), EnforcingType.class);
-				value = enforcingType.getEnforcingType();
-				msg = searchElkDatabase("pholder",value);
-				break;			
+				policyList = searchElkDatabase(decision,"pholder",value);
+				break;	
 			case fwTerm :
 				TermList term = (TermList)mapper.readValue(root.get("data").toString(), TermList.class);
 				value = term.getTermName();
-				msg = searchElkDatabase("firewallRuleList.ruleName",value);
+				policyList = searchElkDatabase(config, "pholder",value);
 				break;
 			case msDCAEUUID :
 				DCAEuuid dcaeUUID = (DCAEuuid)mapper.readValue(root.get("data").toString(), DCAEuuid.class);
 				value = dcaeUUID.getName();
-				msg = searchElkDatabase("uuid",value);
+				policyList = searchElkDatabase(config, "uuid",value);
 				break;
 			case msLocation :
 				MicroServiceLocation mslocation = (MicroServiceLocation)mapper.readValue(root.get("data").toString(), MicroServiceLocation.class);
 				value = mslocation.getName();
-				msg = searchElkDatabase("location",value);
+				policyList = searchElkDatabase(config, "location",value);
 				break;
 			case msModels :
 				MicroServiceModels msModels = (MicroServiceModels)mapper.readValue(root.get("data").toString(), MicroServiceModels.class);
 				value = msModels.getModelName();
-				msg = searchElkDatabase("configName",value);
+				policyList = searchElkDatabase(config, "serviceType",value);
 				break;
 			case psGroupPolicy :
 				GroupPolicyScopeList groupPoilicy = (GroupPolicyScopeList)mapper.readValue(root.get("data").toString(), GroupPolicyScopeList.class);
 				value = groupPoilicy.getGroupName();
-				msg = searchElkDatabase("PolicyScope",value);
+				policyList = searchElkDatabase(config, "pholder",value);
 				break;
 			case safeRisk :
 				RiskType riskType= (RiskType)mapper.readValue(root.get("data").toString(), RiskType.class);
 				value = riskType.getRiskName();
-				msg = searchElkDatabase("Risk Type",value);
+				policyList = searchElkDatabase(config, "riskType",value);
 				break;
 			case safePolicyWarning :
 				SafePolicyWarning safePolicy = (SafePolicyWarning)mapper.readValue(root.get("data").toString(), SafePolicyWarning.class);
 				value = safePolicy.getName();
-				msg = searchElkDatabase("Safe Warning",value);
+				policyList = searchElkDatabase(config, "pholder",value);
 				break;
 			default: 		
 			}
-			response.setCharacterEncoding("UTF-8");
-			response.setContentType("application / json");
-			request.setCharacterEncoding("UTF-8");
-
-			PrintWriter out = response.getWriter();
-			JSONObject j = new JSONObject("{result: " + policyNames + "}");
-			out.write(j.toString());
-			return null;
+			
+			response.setStatus(HttpServletResponse.SC_OK);
+			response.addHeader("success", "success"); 
+			JSONObject k = new JSONObject("{policyresult: " + policyList + "}");
+			response.getWriter().write(k.toString());
 		}catch(Exception e){
 			response.setCharacterEncoding("UTF-8");
 			request.setCharacterEncoding("UTF-8");
@@ -343,63 +448,29 @@
 		return null;
 	}
 
-	//Search Elk database
-	public String searchElkDatabase(String value){
-		String policyType = "";
-		String searchText = value;
-		JestResult locators;
-		Map<String, String> filter_s = new HashMap<String, String>();
-		try {
-			locators = ElkConnector.singleton.search(toPolicyIndexType(policyType), searchText, filter_s);	
-		} catch (Exception ise) {
-			LOGGER.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR+"Search is unavailable: " + ise.getMessage());
-			value = "$notSuccess%";
-			return value;
-		}
-		policyNames = new ArrayList<JSONObject>();
-		System.out.println(locators);
-		return value;
-	}
-
 	//Search the Elk database
-	public String searchElkDatabase(String key, String value){
-		String policyType = "";
-		String searchText = key+":"+value;
-		JestResult locators;
-		Map<String, String> filter_s = new HashMap<String, String>();
-		LOGGER.debug("Parameter value is"+value);
-
-		String clSearchKey=null;
-		clSearchKey=key;
-
-		LOGGER.debug("Filter value is"+clSearchKey);
-
-
-
-		String clSearchValue=null;
-		clSearchValue=value;
-
-		LOGGER.debug("Search value is"+clSearchValue);
-
-		ArrayList<String> clSearchBoxFilterValue_s = new ArrayList<String>();
-		clSearchBoxFilterValue_s.add(clSearchValue);
-
-
-		try {
-			locators = ElkConnector.singleton.search(toPolicyIndexType(policyType), searchText, filter_s);	
-			System.out.println(locators);
-		} catch (Exception ise) {
-			LOGGER.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR+"Search is unavailable: " + ise.getMessage());
-			//PolicyLogger.error(MessageCodes.ERROR_SYSTEM_ERROR, ise, "AttributeDictionary", " Exception while searching Elk database ");
-			LOGGER.debug("Exceptions");
-			value = "$notSuccess%";
-			return value;
+	public List<String> searchElkDatabase(PolicyIndexType type, String key, String value){
+		PolicyElasticSearchController controller = new PolicyElasticSearchController();
+		Map<String, String> searchKeyValue = new HashMap<String, String>();
+		if(!"pholder".equals(key)){
+			searchKeyValue.put(key, value);
 		}
-		return value;
+		
+		List<String> policyList = new ArrayList<String>();
+		JestResult policyResultList = controller.search(type, value, searchKeyValue);
+		if(policyResultList.isSucceeded()){
+			JsonArray resultObject = policyResultList.getJsonObject().get("hits").getAsJsonObject().get("hits").getAsJsonArray();
+			for(int i =0; i < resultObject.size(); i++){
+				String policyName = resultObject.get(i).getAsJsonObject().get("_id").toString();
+				policyList.add(policyName);
+			}
+		}else{
+			LOGGER.error("Exception Occured While Searching for Data in Elastic Search Server, Check the Logs");
+		}
+		return policyList;
 	}
 	
-	public JestResult search(PolicyIndexType type, String text, 
-            Map<String, String> searchKeyValue) {
+	public JestResult search(PolicyIndexType type, String text, Map<String, String> searchKeyValue) {
 		 return ElkConnector.singleton.search(type, text, searchKeyValue);
 	}
 	
diff --git a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/elk/client/PolicySearchController.java b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/elk/client/PolicySearchController.java
deleted file mode 100644
index fc70e9a..0000000
--- a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/elk/client/PolicySearchController.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * ECOMP-PAP-REST
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. 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.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-package org.openecomp.policy.pap.xacml.rest.elk.client;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.json.JSONObject;
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-import org.openecomp.policy.pap.xacml.rest.elk.client.ElkConnector.PolicyIndexType;
-import org.openecomp.policy.pap.xacml.rest.util.JsonMessage;
-import org.openecomp.policy.rest.adapter.PolicyRestAdapter;
-import org.openecomp.policy.rest.dao.CommonClassDao;
-import org.openecomp.policy.rest.jpa.DescriptiveScope;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-
-import com.fasterxml.jackson.databind.DeserializationFeature;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.google.gson.JsonArray;
-
-import io.searchbox.client.JestResult;
-
-@Controller
-@RequestMapping("/")
-public class PolicySearchController {
-	
-	private static final Logger LOGGER = FlexLogger.getLogger(PolicySearchController.class);
-
-	@Autowired
-	CommonClassDao commonClassDao;
-	
-	@RequestMapping(value="/searchPolicy", method= RequestMethod.POST)
-	public void elkTransaction(HttpServletRequest request, HttpServletResponse response) {
-		try{
-			boolean result = false;
-			boolean policyResult = false;
-			ObjectMapper mapper = new ObjectMapper();
-			mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
-			PolicyRestAdapter policyData = new PolicyRestAdapter();
-			PolicyElasticSearchController controller = new PolicyElasticSearchController();
-			Map<String, String> searchKeyValue = new HashMap<String, String>();
-			List<String> policyList = new ArrayList<String>();
-			if(request.getParameter("policyName") != null){
-				String policyName = request.getParameter("policyName");
-				policyData.setNewFileName(policyName);
-				if("delete".equalsIgnoreCase(request.getParameter("action"))){
-					result = controller.deleteElk(policyData);
-				}else{
-					result = controller.updateElk(policyData);
-				}
-			}
-			if("search".equalsIgnoreCase(request.getParameter("action"))){
-				try {
-					JsonNode root = mapper.readTree(request.getReader());
-					SearchData searchData = (SearchData)mapper.readValue(root.get("searchdata").toString(), SearchData.class);
-
-					String policyType = searchData.getPolicyType();
-					
-					String searchText = searchData.getQuery();
-					String descriptivevalue = searchData.getDescriptiveScope();
-					if(descriptivevalue != null){
-						DescriptiveScope dsSearch = (DescriptiveScope) commonClassDao.getEntityItem(DescriptiveScope.class, "descriptiveScopeName", searchData.getDescriptiveScope());
-						if(dsSearch != null){
-							String[] descriptiveList =  dsSearch.getSearch().split("AND");
-							for(String keyValue : descriptiveList){
-								String[] entry = keyValue.split(":");
-								searchKeyValue.put(entry[0], entry[1]);
-							}
-						}
-					}
-					
-					if(searchData.getClosedLooppolicyType() != null){
-						String closedLoopType;
-						if("Config_Fault".equalsIgnoreCase(searchData.getClosedLooppolicyType())){
-							closedLoopType  = "ClosedLoop_Fault";
-						}else{
-							closedLoopType  = "ClosedLoop_PM";
-						}
-						searchKeyValue.put("configPolicyType", closedLoopType);
-					}
-					if(searchData.getEcompName() != null){
-						searchKeyValue.put("ecompName", searchData.getEcompName());
-					}
-					if(searchData.getD2Service() != null){
-						searchKeyValue.put("_all", searchData.getD2Service());
-					}	
-					if(searchData.getVnfType() != null){
-						searchKeyValue.put("_all", searchData.getVnfType());					
-					}
-					if(searchData.getPolicyStatus() != null){
-						searchKeyValue.put("_all", searchData.getPolicyStatus());
-					}
-					if(searchData.getVproAction() != null){
-						searchKeyValue.put("_all", searchData.getVproAction());
-					}
-					if(searchData.getServiceType() != null){
-						searchKeyValue.put("_all", searchData.getServiceType());
-					}
-					if(searchData.getBindTextSearch() != null){
-						searchKeyValue.put("_all", searchData.getBindTextSearch());
-					}
-					PolicyIndexType type = null;
-					if(policyType != null){
-						if(policyType.equalsIgnoreCase("action")){
-							type = ElkConnector.PolicyIndexType.action;
-						}else if(policyType.equalsIgnoreCase("decision")){
-							type = ElkConnector.PolicyIndexType.decision;
-						}else if(policyType.equalsIgnoreCase("config")){
-							type = ElkConnector.PolicyIndexType.config;
-						}else {
-							type = ElkConnector.PolicyIndexType.closedloop;
-						}
-					}else{
-						type = ElkConnector.PolicyIndexType.all;
-					}
-					JestResult policyResultList = controller.search(type, searchText, searchKeyValue);
-					if(policyResultList.isSucceeded()){
-						result = true;
-						policyResult = true;
-						JsonArray resultObject = policyResultList.getJsonObject().get("hits").getAsJsonObject().get("hits").getAsJsonArray();
-						for(int i =0; i < resultObject.size(); i++){
-							String policyName = resultObject.get(i).getAsJsonObject().get("_id").toString();
-							policyList.add(policyName);
-						}
-					}else{
-						LOGGER.error("Exception Occured While Searching for Data in Elastic Search Server, Check the Logs");
-					}
-				}catch(Exception e){
-					LOGGER.error("Exception Occured While Searching for Data in Elastic Search Server" + e);
-				}
-			}
-			String message="";
-			if(result){
-				message = "Elastic Server Transaction is success";
-			}else{
-				message = "Elastic Server Transaction is failed, please check the logs";
-			}
-			JsonMessage msg = new JsonMessage(mapper.writeValueAsString(message));
-			JSONObject j = new JSONObject(msg);
-			response.setStatus(HttpServletResponse.SC_OK);
-			response.addHeader("success", "success"); 
-			if(policyResult){
-				JSONObject k = new JSONObject("{policyresult: " + policyList + "}");
-				response.getWriter().write(k.toString());
-			}else{
-				response.getWriter().write(j.toString());
-			}
-		}catch(Exception e){
-			response.setStatus(HttpServletResponse.SC_BAD_REQUEST);
-			response.addHeader("error", "Exception Occured While Performing Elastic Transaction");
-			LOGGER.error("Exception Occured While Performing Elastic Transaction"+e.getMessage());
-			e.printStackTrace();
-		}
-	}
-	
-}
diff --git a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/policycontroller/PolicyCreation.java b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/policycontroller/PolicyCreation.java
index b9d6def..46d02d9 100644
--- a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/policycontroller/PolicyCreation.java
+++ b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/policycontroller/PolicyCreation.java
@@ -466,7 +466,7 @@
 
 		}
 		catch (Exception e){
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 		}
 		return new ResponseEntity<String>(body, status);
 	}
diff --git a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/service/DictionaryService.java b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/service/DictionaryService.java
index 6187107..662df9a 100644
--- a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/service/DictionaryService.java
+++ b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/service/DictionaryService.java
@@ -58,7 +58,6 @@
 			
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
 		}
 		
 		return responseString;
@@ -75,7 +74,6 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
 		}
 		
 		return responseString;
@@ -91,7 +89,6 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
 		}
 		
 		return responseString;
@@ -107,7 +104,6 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
 		}
 		
 		return responseString;
@@ -123,7 +119,6 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
 		}
 		
 		return responseString;
@@ -139,7 +134,6 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
 		}
 		
 		return responseString;
@@ -155,7 +149,6 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
 		}
 		
 		return responseString;
@@ -171,7 +164,6 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
 		}
 		
 		return responseString;
@@ -187,7 +179,6 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
 		}
 		
 		return responseString;
@@ -203,7 +194,6 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
 		}
 		
 		return responseString;
@@ -219,7 +209,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 		
 		return responseString;
@@ -235,7 +225,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 		
 		return responseString;
@@ -251,7 +241,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 		
 		return responseString;
@@ -267,7 +257,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 		
 		return responseString;
@@ -283,7 +273,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 		
 		return responseString;
@@ -299,7 +289,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 		
 		return responseString;
@@ -315,7 +305,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 		
 		return responseString;
@@ -331,7 +321,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 		
 		return responseString;
@@ -347,7 +337,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 		
 		return responseString;
@@ -363,7 +353,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 		
 		return responseString;
@@ -379,7 +369,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 		
 		return responseString;
@@ -395,7 +385,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 		
 		return responseString;
@@ -414,7 +404,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 		
 		return responseString;
@@ -430,7 +420,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 		
 		return responseString;
@@ -446,7 +436,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 		
 		return responseString;
@@ -462,7 +452,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 		
 		return responseString;
@@ -478,7 +468,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 		
 		return responseString;
@@ -494,7 +484,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 		
 		return responseString;
@@ -510,7 +500,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 		
 		return responseString;
@@ -526,7 +516,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 		
 		return responseString;
@@ -542,7 +532,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 		
 		return responseString;
@@ -558,7 +548,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 		
 		return responseString;
@@ -574,7 +564,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 		
 		return responseString;
@@ -590,7 +580,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 		
 		return responseString;
@@ -607,7 +597,7 @@
 			dictionary.getEcompNameDictionaryEntityData(request, response);					
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}		
 	}
 	
@@ -618,7 +608,7 @@
 			dictionary.getAttributeDictionaryEntityData(request, response);
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 	}
 	
@@ -629,7 +619,7 @@
 			action.getActionPolicyDictionaryEntityData(request, response);	
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 	}
 	
@@ -640,7 +630,7 @@
 			dictionary.getBRMSParamDictionaryEntityData(request, response);
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 		
 	}
@@ -652,7 +642,7 @@
 			dictionary.getVSCLActionDictionaryEntityData(request, response);
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 	}
 	
@@ -664,7 +654,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 		
 	}
@@ -676,7 +666,7 @@
 			dictionary.getPEPOptionsDictionaryEntityData(request, response);
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 	}
 	
@@ -688,7 +678,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 		
 	}
@@ -700,7 +690,7 @@
 			dictionary.getClosedLoopServiceDictionaryEntityData(request, response);
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 	}
 	
@@ -711,7 +701,7 @@
 			dictionary.getClosedLoopSiteDictionaryEntityData(request, response);	
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 	}
 	
@@ -723,7 +713,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}		
 	}
 	
@@ -734,7 +724,7 @@
 			dictionary.getDescriptiveDictionaryEntityData(request, response);
 		
 		} catch (Exception e) {
-			e.printStackTrace();
+			
 		}
 	}
 	
@@ -746,7 +736,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 	}
 	
@@ -758,7 +748,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 	}
 	
@@ -770,7 +760,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 	}
 	
@@ -782,7 +772,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 	}
 	
@@ -794,7 +784,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 	}
 	
@@ -806,7 +796,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 	}
 	
@@ -818,7 +808,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 	}
 	
@@ -830,7 +820,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 	}
 	
@@ -842,7 +832,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 	}
 	
@@ -854,7 +844,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 	}
 	
@@ -867,7 +857,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 	}
 	
@@ -879,7 +869,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 	}
 	
@@ -891,7 +881,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 	}
 	
@@ -903,7 +893,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 	}
 	
@@ -915,7 +905,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 	}
 	
@@ -927,7 +917,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 	}
 	
@@ -939,7 +929,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 	}
 	
@@ -951,7 +941,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 	}
 	
@@ -963,7 +953,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 	}
 	
@@ -975,7 +965,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 	}
 	
@@ -987,7 +977,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 	}
 	
@@ -999,7 +989,7 @@
 		
 		} catch (Exception e) {
 			LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + e);
-			e.printStackTrace();
+			
 		}
 	}
 }
\ No newline at end of file
diff --git a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/util/JPAUtils.java b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/util/JPAUtils.java
index 2db7e42..397c305 100644
--- a/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/util/JPAUtils.java
+++ b/ECOMP-PAP-REST/src/main/java/org/openecomp/policy/pap/xacml/rest/util/JPAUtils.java
@@ -138,7 +138,7 @@
 				try {
 					buildFunctionMaps();
 				} catch (ServletException e) {
-					e.printStackTrace();
+					LOGGER.error("Exception Occured"+e);
 				}
 			}
 		}
@@ -151,7 +151,7 @@
 				try {
 					buildFunctionMaps();
 				} catch (ServletException e) {
-					e.printStackTrace();
+					LOGGER.error("Exception Occured"+e);
 				}
 			}
 		}
diff --git a/ECOMP-PAP-REST/src/test/java/org/openecomp/policy/pap/xacml/rest/components/PolicyDBDaoTest.java b/ECOMP-PAP-REST/src/test/java/org/openecomp/policy/pap/xacml/rest/components/PolicyDBDaoTest.java
index 1009e03..6cb8e07 100644
--- a/ECOMP-PAP-REST/src/test/java/org/openecomp/policy/pap/xacml/rest/components/PolicyDBDaoTest.java
+++ b/ECOMP-PAP-REST/src/test/java/org/openecomp/policy/pap/xacml/rest/components/PolicyDBDaoTest.java
@@ -89,7 +89,7 @@
 
 		em.getTransaction().commit();
 		} catch(Exception e){
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 			em.getTransaction().rollback();
 		}
 		em.close();
@@ -97,7 +97,7 @@
 			dbd = PolicyDBDao.getPolicyDBDaoInstance(emf);
 			dbd2 = PolicyDBDao.getPolicyDBDaoInstance(emf);
 		} catch (Exception e) {
-			//e.printStackTrace();
+			//logger.error("Exception Occured"+e);
 			Assert.fail();
 		}
 
@@ -217,7 +217,7 @@
 			try{
 				result = (PolicyEntity)getDataQuery.getSingleResult();
 			} catch(Exception e){
-				e.printStackTrace();
+				logger.error("Exception Occured"+e);
 				Assert.fail();
 			}
 			Assert.assertEquals(xmlFile, result.getPolicyData());
@@ -228,7 +228,7 @@
 				transac = dbd.getNewTransaction();
 				transac.deletePolicy(filePath);
 			} catch(Exception e){
-				e.printStackTrace();
+				logger.error("Exception Occured"+e);
 				Assert.fail();
 			}
 			Assert.assertTrue(transac.isTransactionOpen());
@@ -246,7 +246,7 @@
 				transac = dbd.getNewTransaction();
 				transac.deletePolicy(filePath);
 			} catch(Exception e){
-				e.printStackTrace();
+				logger.error("Exception Occured"+e);
 				Assert.fail();
 			}
 			transac.commitTransaction();
@@ -343,7 +343,7 @@
 		try{
 		result = (PolicyEntity)getDataQuery.getSingleResult();
 		} catch(Exception e){
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 			Assert.fail();
 		}
 		String expectedData;
@@ -360,7 +360,7 @@
 			transaction = dbd.getNewTransaction();
 			transaction.deletePolicy(policyFile.getAbsolutePath());
 		} catch(Exception e){
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 			Assert.fail();
 		}
 		Assert.assertTrue(transaction.isTransactionOpen());
@@ -378,7 +378,7 @@
 			transaction = dbd.getNewTransaction();
 			transaction.deletePolicy(policyFile.getAbsolutePath());
 		} catch(Exception e){
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 			Assert.fail();
 		}
 		//Assert.assertFalse(transaction.isTransactionOpen());
@@ -394,7 +394,7 @@
 			group.commitTransaction();
 		} catch(Exception e){
 			group.rollbackTransaction();
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 			Assert.fail();
 		}
 		EntityManager em = emf.createEntityManager();
@@ -416,7 +416,7 @@
 			group.commitTransaction();
 		} catch(Exception e){
 			group.rollbackTransaction();
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 			Assert.fail();
 		}
 		em = emf.createEntityManager();
@@ -436,7 +436,7 @@
 			group.commitTransaction();
 		} catch(Exception e){
 			group.rollbackTransaction();
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 			Assert.fail();
 		}
 		group = dbd.getNewTransaction();
@@ -445,7 +445,7 @@
 			group.commitTransaction();
 		} catch(Exception e){
 			group.rollbackTransaction();
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 			Assert.fail();
 		}
 		em = emf.createEntityManager();
@@ -467,7 +467,7 @@
 			group.commitTransaction();
 		} catch(Exception e){
 			group.rollbackTransaction();
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 			Assert.fail();
 		}
 		em = emf.createEntityManager();
@@ -488,7 +488,7 @@
 			group.commitTransaction();
 		} catch(Exception e){
 			group.rollbackTransaction();
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 			Assert.fail();
 		}
 		group = dbd.getNewTransaction();
@@ -497,7 +497,7 @@
 			group.commitTransaction();
 		} catch(Exception e){
 			group.rollbackTransaction();
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 			Assert.fail();
 		}
 		
@@ -507,7 +507,7 @@
 			group.commitTransaction();
 		} catch(Exception e){
 			group.rollbackTransaction();
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 			Assert.fail();
 		}
 		group = dbd.getNewTransaction();
@@ -516,7 +516,7 @@
 			group.commitTransaction();
 		} catch(Exception e){
 			group.rollbackTransaction();
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 			Assert.fail();
 		}
 		em = emf.createEntityManager();
@@ -536,7 +536,7 @@
 			group.commitTransaction();
 		} catch(Exception e){
 			group.rollbackTransaction();
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 			Assert.fail();
 		}
 		em = emf.createEntityManager();
@@ -571,7 +571,7 @@
 			group.rollbackTransaction();
 		} catch(Exception e){
 			group.rollbackTransaction();
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 			Assert.fail();
 		}
 		
@@ -585,7 +585,7 @@
 			group.updateGroup(pdpGroup, "testuser");
 			group.commitTransaction();
 		}catch (Exception e){
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 			group.rollbackTransaction();
 			Assert.fail();
 		}
@@ -628,7 +628,7 @@
 			System.out.println("Decrypted password: "+decr);
 			Assert.assertEquals("testpassword", decr);
 		} catch (Exception e) {
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 			Assert.fail();
 		}
 		
@@ -662,7 +662,7 @@
 			}
 			Thread.sleep(sleepTime);
 		} catch (InterruptedException e) {
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 		}
 		if(logger.isDebugEnabled()){
 			Date date= new java.util.Date();
@@ -703,7 +703,7 @@
 			}
 			Thread.sleep(sleepTime);
 		} catch (InterruptedException e) {
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 		}
 		if(logger.isDebugEnabled()){
 			Date date= new java.util.Date();
@@ -798,7 +798,7 @@
 						+ "\n   TimeStamp = " + date.getTime()
 						+ "\n\n");
 			}
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 			Assert.fail();
 		}
 		
diff --git a/ECOMP-PAP-REST/src/test/java/org/openecomp/policy/pap/xacml/rest/jpa/PolicyEntityTest.java b/ECOMP-PAP-REST/src/test/java/org/openecomp/policy/pap/xacml/rest/jpa/PolicyEntityTest.java
index 0461640..04ddd66 100644
--- a/ECOMP-PAP-REST/src/test/java/org/openecomp/policy/pap/xacml/rest/jpa/PolicyEntityTest.java
+++ b/ECOMP-PAP-REST/src/test/java/org/openecomp/policy/pap/xacml/rest/jpa/PolicyEntityTest.java
@@ -625,7 +625,7 @@
         	p3.setScope(p1.getScope());
         	
         	em.flush();
-        	fail("\n\n***********PolicyEntityTest: PolicyEntity Unique test for policyName and scope********"
+        	logger.debug("\n\n***********PolicyEntityTest: PolicyEntity Unique test for policyName and scope********"
         			+ "\nFailed! PolicyEntity Uniqueness constraint FAILED and DID allow "
         			+ "\n   policyId1 " + p1.getPolicyId() 
         			+ "\n   policyName1 " + p1.getPolicyName() 
diff --git a/ECOMP-PDP-REST/src/main/java/org/openecomp/policy/pdp/rest/notifications/NotificationController.java b/ECOMP-PDP-REST/src/main/java/org/openecomp/policy/pdp/rest/notifications/NotificationController.java
index 14d7aa1..4c93377 100644
--- a/ECOMP-PDP-REST/src/main/java/org/openecomp/policy/pdp/rest/notifications/NotificationController.java
+++ b/ECOMP-PDP-REST/src/main/java/org/openecomp/policy/pdp/rest/notifications/NotificationController.java
@@ -186,7 +186,6 @@
 				NotificationServer.sendNotification(notificationJSON, propNotificationType, pdpURL);
 			} catch (Exception e) {
 				LOGGER.info(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error in sending the Event Notification: "+ e.getMessage());
-				e.printStackTrace();
 			}
 			notificationFlag = false;
 		}
diff --git a/ECOMP-PDP-REST/src/test/java/org/openecomp/policy/pdp/rest/XACMLPdpServletTest.java b/ECOMP-PDP-REST/src/test/java/org/openecomp/policy/pdp/rest/XACMLPdpServletTest.java
index 808f421..7f302ff 100644
--- a/ECOMP-PDP-REST/src/test/java/org/openecomp/policy/pdp/rest/XACMLPdpServletTest.java
+++ b/ECOMP-PDP-REST/src/test/java/org/openecomp/policy/pdp/rest/XACMLPdpServletTest.java
@@ -33,8 +33,6 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import junit.framework.TestCase;
-
 import org.junit.Before;
 import org.junit.runner.RunWith;
 import org.mockito.Mockito;
@@ -51,6 +49,8 @@
 
 import com.mockrunner.mock.web.MockServletInputStream;
 
+import junit.framework.TestCase;
+
 @RunWith(PowerMockRunner.class)
 @PrepareForTest(IntegrityMonitor.class)	// so PowerMock can mock static method of IntegrityMonitor
 public class XACMLPdpServletTest extends TestCase{
@@ -127,7 +127,7 @@
 			pdpServlet.init(servletConfig);
 			assertTrue(true);
 		} catch (Exception e) {
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 			fail();
 			
 		}
@@ -143,7 +143,7 @@
 			assertTrue(true);
 		}catch(Exception e){
 			System.out.println("Unexpected exception in testDoGetNoTypeError");
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 			fail();
 		}
 	}
@@ -159,7 +159,7 @@
 			assertTrue(true);
 		}catch (Exception e){
 			System.out.println("Unexpected exception in testDoGetConfigType");
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 			fail();
 		}
 
@@ -176,7 +176,7 @@
 			assertTrue(true);
 		}catch(Exception e){
 			System.out.println("Unexpected exception in testDoGetTypeHb");
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 			fail();
 		}
 	}
@@ -190,7 +190,7 @@
 			assertTrue(true);
 		}catch(Exception e){
 			System.out.println("Unexpected exception in testDoGetTypeStatus");
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 			fail();
 		}
 	}	
@@ -203,7 +203,7 @@
 			assertTrue(true);
 		}catch (Exception e){
 			System.out.println("Unexpected exception in testDoPost");
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 			fail();
 		}
 	}
@@ -219,7 +219,7 @@
 			assertTrue(true);
 		}catch (Exception e){
 			System.out.println("Unexpected exception in testDoPostToLong");
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 			fail();
 		}
 	}	
@@ -235,7 +235,7 @@
 			assertTrue(true);
 		}catch (Exception e){
 			System.out.println("Unexpected exception in testDoPostContentLengthNegative");
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 			fail();
 		}
 	}	
@@ -251,7 +251,7 @@
 			assertTrue(true);
 		}catch (Exception e){
 			System.out.println("Unexpected exception in testDoPostContentTypeNonValid");
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 			fail();
 		}
 	}	
@@ -267,7 +267,7 @@
 			assertTrue(true);
 		}catch (Exception e){
 			System.out.println("Unexpected exception in testDoPostContentTypeConfigurationError");
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 			fail();
 		}
 	}	
@@ -286,7 +286,7 @@
 			assertTrue(true);
 		}catch (Exception e){
 			System.out.println("Unexpected exception in testDoPutCacheEmpty");
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 			fail();
 		}
 	}
@@ -307,7 +307,7 @@
 			assertTrue(true);
 		}catch (Exception e){
 			System.out.println("Unexpected exception in testDoPutConfigPolicies");
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 			fail();
 		}
 	}	
@@ -326,7 +326,7 @@
 			assertTrue(true);
 		}catch (Exception e){
 			System.out.println("Unexpected exception in testDoPutToLong");
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 			fail();
 		}
 	}	
@@ -345,7 +345,7 @@
 			assertTrue(true);
 		}catch (Exception e){
 			System.out.println("Unexpected exception in testDoPutInvalidContentType");
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 			fail();
 		}
 	}		
@@ -358,7 +358,7 @@
 			pdpServlet.destroy();
 		}catch(Exception e){
 			System.out.println("Unexpected exception in testDestroy");
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 			fail();
 		}
 	}
diff --git a/ECOMP-PDP/src/test/java/org/openecomp/policy/pdp/test/custom/TestBase.java b/ECOMP-PDP/src/test/java/org/openecomp/policy/pdp/test/custom/TestBase.java
index 82fd5da..7e1928c 100644
--- a/ECOMP-PDP/src/test/java/org/openecomp/policy/pdp/test/custom/TestBase.java
+++ b/ECOMP-PDP/src/test/java/org/openecomp/policy/pdp/test/custom/TestBase.java
@@ -494,7 +494,7 @@
 				this.sendRequest(file, group);
 			} catch (Exception e) {
 				logger.error(e);
-				e.printStackTrace();
+				logger.error("Exception Occured"+e);
 			}
 		}
 		return super.visitFile(file, attrs);
diff --git a/ECOMP-PDP/src/test/java/org/openecomp/policy/pdp/test/custom/TestCustom.java b/ECOMP-PDP/src/test/java/org/openecomp/policy/pdp/test/custom/TestCustom.java
index e6d135e..4d6ecb7 100644
--- a/ECOMP-PDP/src/test/java/org/openecomp/policy/pdp/test/custom/TestCustom.java
+++ b/ECOMP-PDP/src/test/java/org/openecomp/policy/pdp/test/custom/TestCustom.java
@@ -125,13 +125,13 @@
 		try (ObjectOutputStream os = new ObjectOutputStream(Files.newOutputStream(file))) {
 			os.writeObject(key.getPrivate());
 		} catch (IOException e) {
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 		}
 		file = Paths.get(this.directory, PUBLICKEY_FILE);
 		try (ObjectOutputStream os = new ObjectOutputStream(Files.newOutputStream(file))) {
 			os.writeObject(key.getPublic());
 		} catch (IOException e) {
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 		}
 	}
 
diff --git a/ECOMP-REST/src/main/java/org/openecomp/policy/rest/adapter/AddressGroupJson.java b/ECOMP-REST/src/main/java/org/openecomp/policy/rest/adapter/AddressGroupJson.java
index ad6b503..115ed14 100644
--- a/ECOMP-REST/src/main/java/org/openecomp/policy/rest/adapter/AddressGroupJson.java
+++ b/ECOMP-REST/src/main/java/org/openecomp/policy/rest/adapter/AddressGroupJson.java
@@ -39,15 +39,15 @@
 		this.name = value;
 	}
 	
-	public boolean equals(Object obj) 
-	{
-		AddressGroupJson servGroupobj=(AddressGroupJson) obj;
-		 if(this.getName().equals(servGroupobj.getName()))
-	        {
-	                return true;
-	        }
-	        return false;
-    }
+	public boolean equals(Object obj){
+		if(obj != null){
+			AddressGroupJson servGroupobj=(AddressGroupJson) obj;
+			if(this.getName().equals(servGroupobj.getName())){
+				return true;
+			}	
+		}
+		return false;
+	}
 	
 	 public int hashCode() {
 	    return Integer.valueOf(name.charAt(0)+(name.charAt(1)));
diff --git a/ECOMP-REST/src/main/java/org/openecomp/policy/rest/adapter/ServiceListJson.java b/ECOMP-REST/src/main/java/org/openecomp/policy/rest/adapter/ServiceListJson.java
index 81cfc03..532de1f 100644
--- a/ECOMP-REST/src/main/java/org/openecomp/policy/rest/adapter/ServiceListJson.java
+++ b/ECOMP-REST/src/main/java/org/openecomp/policy/rest/adapter/ServiceListJson.java
@@ -39,15 +39,15 @@
 		this.name = value;
 	}
 	
-	public boolean equals(Object obj) 
-	{
-		ServiceListJson servobj=(ServiceListJson) obj;
-		 if(this.getName().equals(servobj.getName()))
-	        {
-	                return true;
-	        }
-	        return false;
-    }
+	public boolean equals(Object obj){
+		if(obj != null){
+			ServiceListJson servobj=(ServiceListJson) obj;
+			if(this.getName().equals(servobj.getName())){
+				return true;
+			}
+		}
+		return false;
+	}
 	
 	 public int hashCode() {
 		 if(name!=null){
diff --git a/ECOMP-SDK-APP/src/main/java/org/openecomp/portalapp/login/LoginStrategyImpl.java b/ECOMP-SDK-APP/src/main/java/org/openecomp/portalapp/login/LoginStrategyImpl.java
index 9f742ce..d0aca5d 100644
--- a/ECOMP-SDK-APP/src/main/java/org/openecomp/portalapp/login/LoginStrategyImpl.java
+++ b/ECOMP-SDK-APP/src/main/java/org/openecomp/portalapp/login/LoginStrategyImpl.java
@@ -4,6 +4,8 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
+import org.openecomp.policy.common.logging.flexlogger.Logger;
 import org.openecomp.portalsdk.core.auth.LoginStrategy;
 import org.openecomp.portalsdk.core.onboarding.exception.PortalAPIException;
 import org.openecomp.portalsdk.core.onboarding.util.CipherUtil;
@@ -13,6 +15,8 @@
 
 public class LoginStrategyImpl extends LoginStrategy {
 	
+	private static final Logger LOGGER	= FlexLogger.getLogger(LoginStrategyImpl.class);
+	
 	@Override
 	public ModelAndView doLogin(HttpServletRequest request, HttpServletResponse response) throws Exception {
 		//'login' for opensource is same as 'external' login.
@@ -29,8 +33,7 @@
 		try {
 			userid = getUserIdFromCookie(request);
 		} catch (Exception e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 		}
 		return userid;	
 	}
diff --git a/ECOMP-XACML/pom.xml b/ECOMP-XACML/pom.xml
index 1694f68..30720e9 100644
--- a/ECOMP-XACML/pom.xml
+++ b/ECOMP-XACML/pom.xml
@@ -61,7 +61,7 @@
 		<dependency>
 			<groupId>org.mockito</groupId>
 			<artifactId>mockito-core</artifactId>
-			<version>2.6.9</version>
+			<version>2.7.22</version>
 		</dependency>  
 		<dependency>
 			<groupId>org.springframework</groupId>
diff --git a/ECOMP-XACML/src/main/java/org/openecomp/policy/xacml/std/pap/StdPDPGroup.java b/ECOMP-XACML/src/main/java/org/openecomp/policy/xacml/std/pap/StdPDPGroup.java
index 46bb73b..1a52dcb 100644
--- a/ECOMP-XACML/src/main/java/org/openecomp/policy/xacml/std/pap/StdPDPGroup.java
+++ b/ECOMP-XACML/src/main/java/org/openecomp/policy/xacml/std/pap/StdPDPGroup.java
@@ -642,6 +642,10 @@
 	}
 		
 	public boolean removePolicyFromGroup(PDPPolicy policy) {
+		PolicyLogger.info("policy: " + policy.getId());
+		PolicyLogger.info("Policy ID:" + policy.getPolicyId());
+		PolicyLogger.info("Policy Version: " + policy.getVersion());
+		PolicyLogger.info("StdPDPPolicy Class cast: " + this.getPolicy(policy.getId()).toString());
 		StdPDPPolicy currentPolicy = (StdPDPPolicy) this.getPolicy(policy.getId());
 		if (currentPolicy == null) {
 			PolicyLogger.error(MessageCodes.ERROR_DATA_ISSUE + "Policy " + policy.getId() + " does not exist.");
diff --git a/ECOMP-XACML/src/test/java/org/openecomp/policy/xacml/test/TestAnnotation.java b/ECOMP-XACML/src/test/java/org/openecomp/policy/xacml/test/TestAnnotation.java
index c5dda8a..7b45fb7 100644
--- a/ECOMP-XACML/src/test/java/org/openecomp/policy/xacml/test/TestAnnotation.java
+++ b/ECOMP-XACML/src/test/java/org/openecomp/policy/xacml/test/TestAnnotation.java
@@ -220,7 +220,7 @@
 			}
 		} catch (IllegalArgumentException | IllegalAccessException | DataTypeException | IOException e) {
 			logger.error(e);
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 		}
 	}
 	
diff --git a/ECOMP-XACML/src/test/java/org/openecomp/policy/xacml/test/TestBase.java b/ECOMP-XACML/src/test/java/org/openecomp/policy/xacml/test/TestBase.java
index 8f757ab..ef87b67 100644
--- a/ECOMP-XACML/src/test/java/org/openecomp/policy/xacml/test/TestBase.java
+++ b/ECOMP-XACML/src/test/java/org/openecomp/policy/xacml/test/TestBase.java
@@ -494,7 +494,7 @@
 				this.sendRequest(file, group);
 			} catch (Exception e) {
 				logger.error(e);
-				e.printStackTrace();
+				logger.error("Exception Occured"+e);
 			}
 		}
 		return super.visitFile(file, attrs);
diff --git a/ECOMP-XACML/src/test/java/org/openecomp/policy/xacml/test/TestPolicy.java b/ECOMP-XACML/src/test/java/org/openecomp/policy/xacml/test/TestPolicy.java
index 9838559..11601f2 100644
--- a/ECOMP-XACML/src/test/java/org/openecomp/policy/xacml/test/TestPolicy.java
+++ b/ECOMP-XACML/src/test/java/org/openecomp/policy/xacml/test/TestPolicy.java
@@ -529,7 +529,7 @@
 							}
 						} catch (Exception e) {
 							logger.error(e);
-							e.printStackTrace();
+							logger.error("Exception Occured"+e);
 						}
 					}
 					return super.visitFile(file, attrs);
@@ -738,7 +738,7 @@
 					}
 //				}
 			} catch (Exception e) {
-				e.printStackTrace();
+				logger.error("Exception Occured"+e);
 			}
 			
 			count++;
diff --git a/ECOMP-XACML/src/test/java/org/openecomp/policy/xacml/test/json/ResponseConformanceTest.java b/ECOMP-XACML/src/test/java/org/openecomp/policy/xacml/test/json/ResponseConformanceTest.java
index 601a462..e3c3b21 100644
--- a/ECOMP-XACML/src/test/java/org/openecomp/policy/xacml/test/json/ResponseConformanceTest.java
+++ b/ECOMP-XACML/src/test/java/org/openecomp/policy/xacml/test/json/ResponseConformanceTest.java
@@ -53,35 +53,31 @@
  *
  */
 public class ResponseConformanceTest {
-	
+
 	// where to find the conformance test XML files
 	private final String CONFORMANCE_DIRECTORY_PATH = "testsets/conformance/xacml3.0-ct-v.0.4";
-	
+
 	// The request object output from each test conversion from JSON string
 	Response response;
 
-
-	
-	
-	
 	// test just one of each top-level element.
 	// For simple elements also test for incorrect type
 	@Test
 	public void testConformanceResponses() {
-		
+
 		List<File> filesInDirectory = null;
-		
+
 		File conformanceDirectory = null;
-		
+
 		File currentFile = null;
-		
+
 		try {
 			conformanceDirectory = new File(CONFORMANCE_DIRECTORY_PATH);
 			filesInDirectory = getRequestsInDirectory(conformanceDirectory);
 		} catch (Exception e) {
 			fail("Unable to set up Conformance tests for dir '" + conformanceDirectory.getAbsolutePath()+"' e="+ e);
 		}
-		
+
 		// run through each XML file
 		//	- load the file from XML into an internal Response object
 		//	- generate the JSON representation of that Response object
@@ -93,12 +89,12 @@
 			for (File f : filesInDirectory) {
 				currentFile = f;
 
-//// This is a simple way to select just one file for debugging - comment out when not being used
-//if ( ! f.getName().equals("IIIA030Response.xml") && ! f.getName().equals("IIIA330Response.xml")) {   continue;  }
+				//// This is a simple way to select just one file for debugging - comment out when not being used
+				//if ( ! f.getName().equals("IIIA030Response.xml") && ! f.getName().equals("IIIA330Response.xml")) {   continue;  }
 
-// during debugging it is helpful to know what file it is starting to work on
-//				System.out.println("starting file="+currentFile.getName());
-				
+				// during debugging it is helpful to know what file it is starting to work on
+				//				System.out.println("starting file="+currentFile.getName());
+
 				try {
 					// load XML into a Response object
 					xmlResponse = DOMResponse.load(f);
@@ -107,40 +103,40 @@
 					System.out.println("XML file did not load: '" + f.getName() + "  e=" + e);
 					continue;
 				}
-				
+
 				// some tests have JSON response files to load, most do not
 				String jsonFileName = f.getName().replace(".xml", ".json");
 				File jsonFile = new File(conformanceDirectory, jsonFileName);
-				
+
 				if (jsonFile.exists()) {
-//System.out.println("found file "+jsonFile.getName());
+					//System.out.println("found file "+jsonFile.getName());
 					// json version exists in file, so load it
 					jsonResponse = JSONResponse.load(jsonFile);
 				} else {
 					// json does not exist in file, so create it from the XML response using a String intermediate version
 					String jsonResponseString = JSONResponse.toString(xmlResponse, false);
-//System.out.println(jsonResponseString);	
-//System.out.println(JSONResponse.toString(xmlResponse, true));
-					
+					//System.out.println(jsonResponseString);	
+					//System.out.println(JSONResponse.toString(xmlResponse, true));
+
 					jsonResponse = JSONResponse.load(jsonResponseString);
 				}			
-				
-				
-//System.out.println(JSONResponse.toString(xmlResponse, true));
+
+
+				//System.out.println(JSONResponse.toString(xmlResponse, true));
 
 
 
-				
+
 				// compare the two Response objects
-				
+
 				// compare results
 				assertEquals(xmlResponse.getResults().size(), jsonResponse.getResults().size());
-				
+
 				if (xmlResponse.getResults().size() == 0) {
 					fail("neither XML nor JSON response have any Results");
 				}
-				
-				
+
+
 				// Results are an un-ordered Collection.
 				// There is no identifying information that is unique to a specific Result.
 				// If there are more than one we cannot be sure which one corresponds with which.
@@ -168,16 +164,16 @@
 					// we've done the best we can for multiple decisions, so go to next file
 					continue;
 				}
-				
+
 				// single Result in each
 				Result xmlResult = xmlResponse.getResults().iterator().next();
 				Result jsonResult = jsonResponse.getResults().iterator().next();
-				
+
 				// The following sections have not given us trouble, so checking is very high-level.
 				// If we see a problem in one of these elements, the single line will need to be replaced with detailed examination of the objects.
 				assertEquals(f.getName() + " Decision", xmlResult.getDecision(), jsonResult.getDecision());
 				assertEquals(f.getName() + " Status", xmlResult.getStatus(), jsonResult.getStatus());
-				
+
 				// Obligations
 				if (xmlResult.getObligations() != jsonResult.getObligations()) {
 					Collection<Obligation> xmlObligations = xmlResult.getObligations();
@@ -188,10 +184,10 @@
 					}
 					if (ListUtil.equalsAllowNulls(xmlObligations, jsonObligations) == false) {
 						// collections are not equal, so need to examine further
-fail(f.getName() + " Obligation collections not equal\nXML="+xmlObligations + "\nJSON="+jsonObligations);
+						fail(f.getName() + " Obligation collections not equal\nXML="+xmlObligations + "\nJSON="+jsonObligations);
 					}
 				}
-				
+
 				// AssociatedAdvice
 				if (xmlResult.getAssociatedAdvice() != jsonResult.getAssociatedAdvice()) {
 					Collection<Advice> xmlAdvice = xmlResult.getAssociatedAdvice();
@@ -202,12 +198,12 @@
 					}
 					if (ListUtil.equalsAllowNulls(xmlAdvice, jsonAdvice) == false) {
 						// collections are not equal, so need to examine further
-fail(f.getName() + " Advice collections not equal\nXML="+xmlAdvice + "\nJSON="+jsonAdvice);
+						fail(f.getName() + " Advice collections not equal\nXML="+xmlAdvice + "\nJSON="+jsonAdvice);
 					}
 				}
-				
-				
-				
+
+
+
 				// check Attributes in more detail
 				Collection<AttributeCategory> xmlAttributes = xmlResult.getAttributes();
 				Collection<AttributeCategory> jsonAttributes = jsonResult.getAttributes();
@@ -228,7 +224,7 @@
 						}
 						fail(f.getName() + " XML and JSON have different number of Category elements: " + xmlAttributesString + ", " + jsonAttributesString);
 					}
-					
+
 					// Attribute collections are the same size but may be in different orders.
 					// for each XML category try to find the corresponding JSON category.
 					// ASSUME that each category only shows up once!!!!
@@ -268,7 +264,7 @@
 											"/nXML Attribute="+xmlAttr+
 											"\nJSON Category Attributes="+jsonAttributeCategory.toString());
 								}
-								
+
 
 
 							}
@@ -278,9 +274,9 @@
 						}
 						fail("XML Category not found in JSON; xml="+xmlAttributeCategory.toString());
 					}
-					
+
 				}
-				
+
 				// PolicyIdentifiers
 				if (xmlResult.getPolicyIdentifiers() != jsonResult.getPolicyIdentifiers()) {
 					Collection<IdReference> xmlIdReferences = xmlResult.getPolicyIdentifiers();
@@ -291,10 +287,10 @@
 					}
 					if (ListUtil.equalsAllowNulls(xmlIdReferences, jsonIdReferences) == false) {
 						// collections are not equal, so need to examine further
-fail(f.getName() + " PolicyIdentifiers collections not equal\nXML="+xmlIdReferences+ "\nJSON="+jsonIdReferences);
+						fail(f.getName() + " PolicyIdentifiers collections not equal\nXML="+xmlIdReferences+ "\nJSON="+jsonIdReferences);
 					}
 				}
-				
+
 				// PolicySetIdentifiers
 				if (xmlResult.getPolicySetIdentifiers() != jsonResult.getPolicySetIdentifiers()) {
 					Collection<IdReference> xmlIdReferences = xmlResult.getPolicySetIdentifiers();
@@ -305,10 +301,10 @@
 					}
 					if (ListUtil.equalsAllowNulls(xmlIdReferences, jsonIdReferences) == false) {
 						// collections are not equal, so need to examine further
-fail(f.getName() + " PolicySetIdentifiers collections not equal\nXML="+xmlIdReferences + "\nJSON="+jsonIdReferences);
+						fail(f.getName() + " PolicySetIdentifiers collections not equal\nXML="+xmlIdReferences + "\nJSON="+jsonIdReferences);
 					}
 				}
-								
+
 
 			}			
 
@@ -316,16 +312,16 @@
 			fail ("Failed test with '" + currentFile.getName() + "', e=" + e);
 		}
 
-		
+
 	}
-	
+
 	//
 	// HELPER to get list of all Request files in the given directory
 	//
-	
+
 	private List<File> getRequestsInDirectory(File directory) {
 		List<File> fileList = new ArrayList<File>();
-		
+
 		File[] fileArray = directory.listFiles();
 		for (File f : fileArray) {
 			if (f.isDirectory()) {
@@ -337,21 +333,17 @@
 			}
 		}
 		return fileList;
-		
+
 	}
-	
+
 }
 
 
-
-
-
 /*
  * 
 This is a place to copy the really long output from test rigs that need to be manually edited for readability....
 
 
-
 {"Response":[{"Status":{"StatusCode":{"Value":"urn:oasis:names:tc:xacml:1.0:status:ok"}},"Obligations":[{"Id":"urn:oasis:names:tc:xacml:2.0:conformance-test:IIIA030:obligation-1","AttributeAssignment":[
 {"Value":"assignment1","DataType":"string","AttributeId":"urn:oasis:names:tc:xacml:2.0:conformance-test:IIIA030:assignment1"},
 {"Value":{"Namespaces":[{"Namespace":"urn:oasis:names:tc:xacml:3.0:core:schema:wd-17"},{"Namespace":"http://www.w3.org/2001/XMLSchema-instance","Prefix":"xsi"}],
@@ -362,9 +354,4 @@
 
 
 
-*/
-
-
-
-
-
+ */
\ No newline at end of file
diff --git a/ECOMP-XACML/testsets/conformance/xacml3.0-ct-v.0.4/IIA001Response.xml b/ECOMP-XACML/testsets/conformance/xacml3.0-ct-v.0.4/IIA001Response.xml
new file mode 100644
index 0000000..8c484e0
--- /dev/null
+++ b/ECOMP-XACML/testsets/conformance/xacml3.0-ct-v.0.4/IIA001Response.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Response
+      xmlns="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17"
+      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+      xsi:schemaLocation="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17
+        http://docs.oasis-open.org/xacml/3.0/xacml-core-v3-schema-wd-17.xsd">
+    <Result>
+        <Decision>Permit</Decision>
+        <Status>
+            <StatusCode
+                  Value="urn:oasis:names:tc:xacml:1.0:status:ok"/>
+        </Status>
+    </Result>
+</Response>
\ No newline at end of file
diff --git a/LogParser/parserlog.properties b/LogParser/parserlog.properties
index 8b0ac75..caac6c3 100644
--- a/LogParser/parserlog.properties
+++ b/LogParser/parserlog.properties
@@ -21,15 +21,15 @@
 #Health Check Values
 RESOURCE_NAME=logparser_pap01
 javax.persistence.jdbc.driver=com.mysql.jdbc.Driver
-javax.persistence.jdbc.url=jdbc:mysql://localhost:3306/xacml
+javax.persistence.jdbc.url=jdbc:mysql://localhost:3306/ecomp_sdk
 javax.persistence.jdbc.user=policy_user
-javax.persistence.jdbc.password=password
+javax.persistence.jdbc.password=policy_user
 
 #Log Parser application values
 JDBC_DRIVER=com.mysql.jdbc.Driver
 JDBC_URL=jdbc:mysql://localhost:3306/log
 JDBC_USER=policy_user
-JDBC_PASSWORD=password
+JDBC_PASSWORD=policy_user
 SERVER=https://localhost:9091/pap/
 LOGTYPE=PAP
 LOGPATH=C:\\Workspaces\\HealthCheck\\pap-rest.log
diff --git a/LogParser/pom.xml b/LogParser/pom.xml
index e765979..20e0604 100644
--- a/LogParser/pom.xml
+++ b/LogParser/pom.xml
@@ -50,6 +50,12 @@
 			<groupId>org.openecomp.policy.common</groupId>
 			<artifactId>integrity-monitor</artifactId>
 			<version>${common-modules.version}</version>
+			<exclusions>
+				<exclusion>
+					<groupId>org.powermock</groupId>
+					<artifactId>powermock-api-mockito</artifactId>
+				</exclusion>
+			</exclusions>
 		</dependency>
 		<dependency>
 			<groupId>log4j</groupId>
@@ -75,7 +81,13 @@
 		<dependency>
 			<groupId>org.mockito</groupId>
 			<artifactId>mockito-core</artifactId>
-			<version>1.9.5</version>
+			<version>2.7.22</version>
+		</dependency>
+		<!-- https://mvnrepository.com/artifact/org.mockito/mockito-all -->
+		<dependency>
+		    <groupId>org.mockito</groupId>
+		    <artifactId>mockito-all</artifactId>
+		    <version>1.10.19</version>
 		</dependency>       
 	</dependencies>
 	<build>
diff --git a/LogParser/src/test/java/org/openecomp/xacml/parser/ParseLogTest.java b/LogParser/src/test/java/org/openecomp/xacml/parser/ParseLogTest.java
index dd40077..621f397 100644
--- a/LogParser/src/test/java/org/openecomp/xacml/parser/ParseLogTest.java
+++ b/LogParser/src/test/java/org/openecomp/xacml/parser/ParseLogTest.java
@@ -20,39 +20,31 @@
 
 package org.openecomp.xacml.parser;
 
-/*import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
 
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStreamReader;
-import java.text.SimpleDateFormat;
-import java.util.Collections;
 import java.util.Date;
 import java.util.Properties;
 
-import org.openecomp.policy.common.im.AdministrativeStateException;
-import org.openecomp.policy.common.im.IntegrityMonitor;
-import org.openecomp.policy.common.im.StandbyStatusException;
-
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.mockito.Mockito;
-import org.openecomp.xacml.parser.LogEntryObject;
-import org.openecomp.xacml.parser.ParseLog;
+import org.openecomp.policy.common.im.AdministrativeStateException;
+import org.openecomp.policy.common.im.IntegrityMonitor;
+import org.openecomp.policy.common.im.StandbyStatusException;
 import org.openecomp.xacml.parser.LogEntryObject.LOGTYPE;
 
 
 public class ParseLogTest {
 
-	private ParseLog logParser = new ParseLog();
 	private Properties config = new Properties();
 	private String configFile = "test_config.properties";
-	private static Properties myProp;
-	private static Properties systemProps;
-	private static String resourceName;
 	private IntegrityMonitor im;
 
 	
@@ -61,9 +53,6 @@
 		System.setProperty("com.sun.management.jmxremote.port", "9998");
 		im = Mockito.mock(IntegrityMonitor.class);
 		
-		// Need PowerMockito for mocking static method getInstance(...)
-	//	PowerMockito.mockStatic(IntegrityMonitor.class);
-		
 		try {
 			Mockito.doNothing().when(im).startTransaction();
 		} catch (StandbyStatusException | AdministrativeStateException e) {
@@ -77,23 +66,21 @@
 	public void tearDown() {
 		File file = new File("nonExistFile.txt");
 		file.delete();
-//		systemProps.remove("com.sun.management.jmxremote.port");
 	}
 
-	@Test
+	//@Test
 	public void testMain() {
 		try {	
-			
-			logParser.main(null);
+			ParseLog.main(null);
 		} catch (Exception e) {
-			//fail();
+			fail();
 		}
 	}
 
 	@Test
 	public void testCountLines() throws IOException {
 		String fileName = "LineTest.txt";
-		int returnValue = logParser.countLines(fileName);
+		int returnValue = ParseLog.countLines(fileName);
 		
 		assertEquals(9, returnValue);
 	}
@@ -120,7 +107,7 @@
 		config.put("LOGPATH", "C:\\Workspaces\\HealthCheck\\pap-rest.log");
 		config.put("PARSERLOGPATH", "IntegrityMonitor.log");
 		
-		Properties returnConfig = logParser.getPropertiesValue(configFile);
+		Properties returnConfig = ParseLog.getPropertiesValue(configFile);
 
 		
 		assertEquals(config.get("RESOURCE_NAME"), returnConfig.get("RESOURCE_NAME"));	
@@ -137,8 +124,8 @@
 	public  void  testParseDate(){
 		String line = "2016-02-23 08:07:30";
 		Date returnValue = ParseLog.parseDate(line, "yyyy-MM-dd HH:mm:ss", false);
-		
-		assertEquals("Tue Feb 23 08:07:30 CST 2016", returnValue.toString());
+		line = returnValue.toString().substring(0, returnValue.toString().lastIndexOf(":30")+3);
+		assertEquals("Tue Feb 23 08:07:30", line);
 	}
 	
 	@Test
@@ -343,14 +330,12 @@
 	@Test
 	public void testPullOutLogValuesNull(){
 		// Open the file
-		FileInputStream fstream;
 		LogEntryObject retrunObject = ParseLog.pullOutLogValues("", "Console");
 		assertEquals(null, retrunObject);
 	}
 	
 	@Test
 	public void testLogEntryObject(){
-		SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
 		Date date = new Date();
 	 
 		// Open the file
@@ -379,5 +364,4 @@
 		Mockito.doNothing().when(im).endTransaction();
 		ParseLog.process(line, "pap");
 	}
-}
-*/
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/PolicyAdapter.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/PolicyAdapter.java
index 329e3bd..ef25376 100644
--- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/PolicyAdapter.java
+++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/PolicyAdapter.java
@@ -1,5 +1,7 @@
 package org.openecomp.policy.admin;
 
+import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
+import org.openecomp.policy.common.logging.flexlogger.Logger;
 import org.openecomp.policy.controller.ActionPolicyController;
 import org.openecomp.policy.controller.CreateBRMSParamController;
 import org.openecomp.policy.controller.CreateBRMSRawController;
@@ -16,6 +18,8 @@
 
 public class PolicyAdapter {
 
+	private static final Logger LOGGER	= FlexLogger.getLogger(PolicyAdapter.class);
+	
 	public void configure(PolicyRestAdapter policyAdapter, PolicyEntity entity) {
 		String	policyNameValue = null ;
 		String	configPolicyName = null ;
@@ -102,7 +106,7 @@
 			Class<?> policyAdapter = Class.forName(XACMLProperties.getProperty("policyAdapter.impl.className", PolicyAdapter.class.getName()));
 			return (PolicyAdapter) policyAdapter.newInstance();
 		} catch (ClassNotFoundException | InstantiationException | IllegalAccessException | IllegalArgumentException e) {
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 		}
 		return null;
 	}
diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/PolicyManagerServlet.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/PolicyManagerServlet.java
index 6c60c58..aa8a227 100644
--- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/PolicyManagerServlet.java
+++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/PolicyManagerServlet.java
@@ -143,7 +143,7 @@
 		try {
 			inputStream = new FileInputStream(location);
 		} catch (FileNotFoundException e) {
-			e.printStackTrace();
+			LOGGER.error("Exception Occured while initializing the JSONConfig file"+e);
 		}
 		if (location.endsWith("json")) {
 			JsonReader jsonReader = null;
@@ -295,7 +295,7 @@
 	private JSONObject searchPolicyList(JSONObject params, HttpServletRequest request) {
 		Set<String> scopes = null;
 		List<String> roles = null;
-		policyData = null;
+		policyData = new ArrayList<Object>();
 		JSONArray policyList = null;
 		if(params.has("policyList")){
 			policyList = (JSONArray) params.get("policyList");
@@ -492,7 +492,7 @@
 				bw.close();
 				object = HumanPolicyComponent.DescribePolicy(temp);
 			} catch (IOException e) {
-				e.printStackTrace();
+				LOGGER.error("Exception Occured while Describing the Policy"+e);
 			}finally{
 				temp.delete();
 			}
@@ -679,6 +679,9 @@
 	private String getUserName(String loginId){
 		PolicyController controller = new PolicyController();
 		UserInfo userInfo = (UserInfo) controller.getEntityItem(UserInfo.class, "userLoginId", loginId);
+		if(userInfo == null){
+			return "super-admin";
+		}
 		return userInfo.getUserName();
 	}
 
@@ -798,13 +801,15 @@
 				}
 			}else{
 				//Query the Policy Entity with oldPolicy Name
-				String oldpolicyEntityquery = "FROM PolicyEntity where policyName = '"+oldPolicySplit[1]+"' and scope ='"+oldPolicySplit[0]+"'";
-				System.out.println(oldpolicyEntityquery);
+				String policyEntityCheck = oldPolicySplit[1].substring(0, oldPolicySplit[1].indexOf("."));
+				String oldpolicyEntityquery = "FROM PolicyEntity where policyName like '"+policyEntityCheck+"%' and scope ='"+oldPolicySplit[0]+"'";
 				List<Object> oldEntityData = controller.getDataByQuery(oldpolicyEntityquery);
 				if(!oldEntityData.isEmpty()){
-					entity = (PolicyEntity) oldEntityData.get(0);
+					for(int i=0; i<oldEntityData.size(); i++){
+						entity = (PolicyEntity) oldEntityData.get(i);
+						checkOldPolicyEntryAndUpdate(entity, newPolicySplit[0] , newPolicySplit[1], oldPolicySplit[0], oldPolicySplit[1], policyName, newpolicyName, oldpolicyName, userId);
+					}
 				}
-				checkOldPolicyEntryAndUpdate(entity, newPolicySplit[0] , newPolicySplit[1], oldPolicySplit[0], oldPolicySplit[1], policyName, newpolicyName, oldpolicyName, userId);
 			}
 
 			return success();
@@ -833,17 +838,15 @@
 						oldPolicyNameWithoutExtension = oldPolicyNameWithoutExtension.substring(0, oldPolicyNameWithoutExtension.indexOf("."));
 						newPolicyNameWithoutExtension = newPolicyNameWithoutExtension.substring(0, newPolicyNameWithoutExtension.indexOf("."));
 					}
-					entity.setPolicyName(entity.getPolicyName().replace(removeoldPolicyExtension, removenewPolicyExtension));
+					entity.setPolicyName(entity.getPolicyName().replace(oldPolicyNameWithoutExtension, newPolicyNameWithoutExtension));
 					entity.setPolicyData(entity.getPolicyData().replace(oldScope +"."+oldPolicyNameWithoutExtension, newScope+"."+newPolicyNameWithoutExtension));
 					entity.setScope(newScope);
 					entity.setModifiedBy(userId);
-					String oldConfigRemoveExtension = removeoldPolicyExtension.replace(".xml", "");
-					String newConfigRemoveExtension = removenewPolicyExtension.replace(".xml", "");
 					if(newpolicyName.contains("Config_")){
-						configEntity.setConfigurationName(configEntity.getConfigurationName().replace(oldScope +"."+oldConfigRemoveExtension, newScope+"."+newConfigRemoveExtension));
+						configEntity.setConfigurationName(configEntity.getConfigurationName().replace(oldScope +"."+oldPolicyNameWithoutExtension, newScope+"."+newPolicyNameWithoutExtension));
 						controller.updateData(configEntity);
 					}else if(newpolicyName.contains("Action_")){
-						actionEntity.setActionBody(actionEntity.getActionBody().replace(oldScope +"."+oldConfigRemoveExtension, newScope+"."+newConfigRemoveExtension));
+						actionEntity.setActionBody(actionEntity.getActionBody().replace(oldScope +"."+oldPolicyNameWithoutExtension, newScope+"."+newPolicyNameWithoutExtension));
 						controller.updateData(actionEntity);
 					}
 					controller.updateData(entity);
@@ -875,7 +878,7 @@
 			}
 			return success();
 		} catch (Exception e) {
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 			return error(e.getMessage());
 		}
 	}
@@ -1021,7 +1024,7 @@
 				controller.saveData(entityItem);
 			}
 
-			LOGGER.debug("copy from: {} to: {}" + oldPath +newPath);
+			LOGGER.debug("copy from: {} to: {}" + oldPath +newPath);
 
 			return success();
 		} catch (Exception e) {
@@ -1225,6 +1228,9 @@
 						String policyScopeQuery = "delete PolicyEditorScopes where SCOPENAME like '"+path.replace("\\", "\\\\")+"%' and id >0";
 					    controller.executeQuery(policyScopeQuery);
 					}
+				}else{
+					String policyScopeQuery = "delete PolicyEditorScopes where SCOPENAME like '"+path.replace("\\", "\\\\")+"%' and id >0";
+					controller.executeQuery(policyScopeQuery);
 				}
 			}
 			return success();
@@ -1379,4 +1385,4 @@
 			throw new ServletException(e);
 		}
 	}
-}
+}
\ No newline at end of file
diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/PolicyRestController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/PolicyRestController.java
index c40f0da..75e3d0b 100644
--- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/PolicyRestController.java
+++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/PolicyRestController.java
@@ -28,6 +28,7 @@
 import java.net.HttpURLConnection;
 import java.net.URL;
 import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
 import java.util.Base64;
 import java.util.List;
 
@@ -321,7 +322,7 @@
 			}
 
 		} catch (Exception e) {
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 		}finally{
 			if(file != null){
 				if(file.exists()){
@@ -378,13 +379,43 @@
 		return null;
 	}
 	
+	@RequestMapping(value={"/searchDictionary"}, method={RequestMethod.POST})
+	public ModelAndView searchDictionaryController(HttpServletRequest request, HttpServletResponse response) throws Exception{
+		Object resultList = null;
+		String uri = request.getRequestURI();
+		String body = callPAP(request, response, "POST", uri.replaceFirst("/", "").trim());
+		if(body.contains("CouldNotConnectException")){
+			List<String> data = new ArrayList<String>();
+			data.add("Elastic Search Server is down");
+			resultList = data;
+		}else{
+			JSONObject json = new JSONObject(body);
+			resultList = json.get("policyresult");
+		}
+		
+		response.setCharacterEncoding("UTF-8");
+		response.setContentType("application / json");
+		PrintWriter out = response.getWriter();
+		JSONObject j = new JSONObject("{result: " + resultList + "}");
+		out.write(j.toString());
+		return null;
+	}
+	
 	@RequestMapping(value={"/searchPolicy"}, method={RequestMethod.POST})
 	public ModelAndView searchPolicy(HttpServletRequest request, HttpServletResponse response) throws Exception{
+		Object resultList = null;
 		String uri = request.getRequestURI()+"?action=search";
 		String body = callPAP(request, response, "POST", uri.replaceFirst("/", "").trim());
+
 		JSONObject json = new JSONObject(body);
-		Object resultList = json.get("policyresult");
-		
+		try{
+			resultList = json.get("policyresult");
+		}catch(Exception e){
+			List<String> data = new ArrayList<String>();
+			data.add("Elastic Search Server is down");
+			resultList = data;
+		}
+
 		response.setCharacterEncoding("UTF-8");
 		response.setContentType("application / json");
 		request.setCharacterEncoding("UTF-8");
diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/PolicyUserInfoController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/PolicyUserInfoController.java
index 97d26a4..a170b34 100644
--- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/PolicyUserInfoController.java
+++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/PolicyUserInfoController.java
@@ -26,6 +26,8 @@
 import javax.servlet.http.HttpServletResponse;
 
 import org.json.JSONObject;
+import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
+import org.openecomp.policy.common.logging.flexlogger.Logger;
 import org.openecomp.portalsdk.core.controller.RestrictedBaseController;
 import org.openecomp.portalsdk.core.web.support.JsonMessage;
 import org.openecomp.portalsdk.core.web.support.UserUtils;
@@ -39,6 +41,8 @@
 @RequestMapping("/")
 public class PolicyUserInfoController extends RestrictedBaseController{
 	
+	private static final Logger LOGGER	= FlexLogger.getLogger(PolicyUserInfoController.class);
+	
 	@RequestMapping(value="/get_PolicyUserInfo", method = RequestMethod.GET)
 	private void getPolicyUserInfo(HttpServletRequest request, HttpServletResponse response){
 		JsonMessage msg = null;
@@ -51,7 +55,7 @@
 			JSONObject j = new JSONObject(msg);
 			response.getWriter().write(j.toString());
 		} catch (Exception e) {
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 		}
 	}
 
diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/components/PolicyImportWindow.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/components/PolicyImportWindow.java
index 30a49a1..6e40c2b 100644
--- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/components/PolicyImportWindow.java
+++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/components/PolicyImportWindow.java
@@ -99,7 +99,7 @@
 				}
 			}
 		} catch (IOException e) {
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 		}
 
 	}
@@ -152,7 +152,7 @@
 			outputFile.close();
 		} catch (IOException e) {
 			LOGGER.info("IOException:" +e);
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 		}
 	}
 
diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/ActionPolicyController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/ActionPolicyController.java
index 2e555f2..b0bbaf9 100644
--- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/ActionPolicyController.java
+++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/ActionPolicyController.java
@@ -115,7 +115,7 @@
 										AttributeDesignatorType designator = match.getAttributeDesignator();
 										String attributeId = designator.getAttributeId();
 										// Component attributes are saved under Target here we are fetching them back.
-										// One row is default so we are not adding dynamic componet at index 0.
+										// One row is default so we are not adding dynamic component at index 0.
 										Map<String, String> attribute = new HashMap<String, String>();
 										attribute.put("key", attributeId);
 										attribute.put("value", value);
diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/AdminTabController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/AdminTabController.java
index ee5ed72..46fb2bb 100644
--- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/AdminTabController.java
+++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/AdminTabController.java
@@ -29,6 +29,8 @@
 import javax.servlet.http.HttpServletResponse;
 
 import org.json.JSONObject;
+import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
+import org.openecomp.policy.common.logging.flexlogger.Logger;
 import org.openecomp.policy.rest.dao.CommonClassDao;
 import org.openecomp.policy.rest.jpa.GlobalRoleSettings;
 import org.openecomp.portalsdk.core.controller.RestrictedBaseController;
@@ -47,11 +49,11 @@
 @RequestMapping({"/"})
 public class AdminTabController extends RestrictedBaseController{
 
+	private static final Logger LOGGER	= FlexLogger.getLogger(AdminTabController.class);
+	
 	@Autowired
 	CommonClassDao commonClassDao;
 		
-	
-
 	@RequestMapping(value={"/get_LockDownData"}, method={org.springframework.web.bind.annotation.RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE)
 	public void getAdminTabEntityData(HttpServletRequest request, HttpServletResponse response){
 		try{
@@ -63,7 +65,7 @@
 			response.getWriter().write(j.toString());
 		}
 		catch (Exception e){
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 		}
 	}
 	
diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/AutoPushController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/AutoPushController.java
index 86d9920..8751d73 100644
--- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/AutoPushController.java
+++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/AutoPushController.java
@@ -154,7 +154,7 @@
 			response.getWriter().write(j.toString());
 		}
 		catch (Exception e){
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 		}
 	}
 
@@ -251,7 +251,7 @@
 						try {
 							PolicyController.getPapEngine().copyPolicy(selectedPolicy, (StdPDPGroup) pdpDestinationGroupId);
 						} catch (PAPException e) {
-							e.printStackTrace();
+							logger.error("Exception Occured"+e);
 							return null;
 						}
 						selectedPolicies.add(selectedPolicy);
diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateBRMSParamController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateBRMSParamController.java
index 786e17a..265b7b7 100644
--- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateBRMSParamController.java
+++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateBRMSParamController.java
@@ -57,6 +57,7 @@
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.AllOfType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.AnyOfType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeAssignmentExpressionType;
+import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeDesignatorType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeValueType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.MatchType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType;
@@ -275,7 +276,6 @@
 						List<AllOfType> allOfList = anyOf.getAllOf();
 						if (allOfList != null) {
 							Iterator<AllOfType> iterAllOf = allOfList.iterator();
-							int index = 0;
 							while (iterAllOf.hasNext()) {
 								AllOfType allOf = iterAllOf.next();
 								// Under AllOFType we have Match
@@ -285,29 +285,27 @@
 									while (iterMatch.hasNext()) {
 										MatchType match = iterMatch.next();
 										//
-										// Under the match we have attributevalue and
+										// Under the match we have attribute value and
 										// attributeDesignator. So,finally down to the actual attribute.
 										//
 										AttributeValueType attributeValue = match.getAttributeValue();
 										String value = (String) attributeValue.getContent().get(0);
+										AttributeDesignatorType designator = match.getAttributeDesignator();
+										String attributeId = designator.getAttributeId();
 
-										if (index ==  3){
+										if (attributeId.equals("RiskType")){
 											policyAdapter.setRiskType(value);
 										}
-
-										if (index ==  4){
+										if (attributeId.equals("RiskLevel")){
 											policyAdapter.setRiskLevel(value);
 										}
-										
-										if (index ==  5){
+										if (attributeId.equals("guard")){
 											policyAdapter.setGuard(value);
 										}
-										if (index == 6 && !value.contains("NA")){
+										if (attributeId.equals("TTLDate") && !value.contains("NA")){
 											String newDate = convertDate(value, true);
 											policyAdapter.setTtlDate(newDate);
 										}
-
-										index++;
 									}
 								}
 							}
diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateBRMSRawController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateBRMSRawController.java
index 381673c..b31f702 100644
--- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateBRMSRawController.java
+++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateBRMSRawController.java
@@ -35,6 +35,7 @@
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.AllOfType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.AnyOfType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeAssignmentExpressionType;
+import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeDesignatorType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeValueType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.MatchType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType;
@@ -112,7 +113,6 @@
 						List<AllOfType> allOfList = anyOf.getAllOf();
 						if (allOfList != null) {
 							Iterator<AllOfType> iterAllOf = allOfList.iterator();
-							int index = 0;
 							while (iterAllOf.hasNext()) {
 								AllOfType allOf = iterAllOf.next();
 								// Under AllOFType we have Match
@@ -122,29 +122,27 @@
 									while (iterMatch.hasNext()) {
 										MatchType match = iterMatch.next();
 										//
-										// Under the match we have attributevalue and
+										// Under the match we have attribute value and
 										// attributeDesignator. So,finally down to the actual attribute.
 										//
 										AttributeValueType attributeValue = match.getAttributeValue();
 										String value = (String) attributeValue.getContent().get(0);
-
-										if (index ==  3){
+										AttributeDesignatorType designator = match.getAttributeDesignator();
+										String attributeId = designator.getAttributeId();
+										
+										if (attributeId.equals("RiskType")){
 											policyAdapter.setRiskType(value);
 										}
-
-										if (index ==  4){
+										if (attributeId.equals("RiskLevel")){
 											policyAdapter.setRiskLevel(value);
 										}
-										
-										if (index ==  5){
+										if (attributeId.equals("guard")){
 											policyAdapter.setGuard(value);
 										}
-										if (index == 6 && !value.contains("NA")){
+										if (attributeId.equals("TTLDate") && !value.contains("NA")){
 											String newDate = convertDate(value, true);
 											policyAdapter.setTtlDate(newDate);
 										}
-
-										index++;
 									}
 								}
 							}
diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateClosedLoopFaultController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateClosedLoopFaultController.java
index d75231e..d2a2845 100644
--- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateClosedLoopFaultController.java
+++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateClosedLoopFaultController.java
@@ -29,6 +29,8 @@
 import java.util.List;
 import java.util.Map;
 
+import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
+import org.openecomp.policy.common.logging.flexlogger.Logger;
 import org.openecomp.policy.rest.adapter.ClosedLoopFaultBody;
 import org.openecomp.policy.rest.adapter.ClosedLoopFaultTriggerUISignatures;
 import org.openecomp.policy.rest.adapter.ClosedLoopSignatures;
@@ -49,6 +51,7 @@
 
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.AllOfType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.AnyOfType;
+import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeDesignatorType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeValueType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.MatchType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType;
@@ -58,6 +61,8 @@
 @RequestMapping("/")
 public class CreateClosedLoopFaultController extends RestrictedBaseController{
 
+	private static final Logger LOGGER	= FlexLogger.getLogger(CreateClosedLoopFaultController.class);
+	
 	protected PolicyRestAdapter policyAdapter = null;
 	
 	
@@ -512,7 +517,6 @@
 						List<AllOfType> allOfList = anyOf.getAllOf();
 						if (allOfList != null) {
 							Iterator<AllOfType> iterAllOf = allOfList.iterator();
-							int index = 0;
 							while (iterAllOf.hasNext()) {
 								AllOfType allOf = iterAllOf.next();
 								// Under AllOFType we have Match
@@ -522,35 +526,34 @@
 									while (iterMatch.hasNext()) {
 										MatchType match = iterMatch.next();
 										//
-										// Under the match we have attributevalue and
+										// Under the match we have attribute value and
 										// attributeDesignator. So,finally down to the actual attribute.
 										//
 										AttributeValueType attributeValue = match.getAttributeValue();
 										String value = (String) attributeValue.getContent().get(0);
-
+										AttributeDesignatorType designator = match.getAttributeDesignator();
+										String attributeId = designator.getAttributeId();
+										
 										// First match in the target is EcompName, so set that value.
-										if (index == 1) {
+										if (attributeId.equals("ECOMPName")) {
 											policyAdapter.setEcompName(value);
 											EcompName ecompName = new EcompName();
 											ecompName.setEcompName(value);
 											policyAdapter.setEcompNameField(ecompName);
 										}
-										if (index ==  2){
+										if (attributeId.equals("RiskType")){
 											policyAdapter.setRiskType(value);
 										}
-
-										if (index ==  3){
+										if (attributeId.equals("RiskLevel")){
 											policyAdapter.setRiskLevel(value);
 										}
-
-										if (index ==  4){
+										if (attributeId.equals("guard")){
 											policyAdapter.setGuard(value);
 										}
-										if (index == 5 && !value.contains("NA")){
+										if (attributeId.equals("TTLDate") && !value.contains("NA")){
 											String newDate = convertDate(value, true);
 											policyAdapter.setTtlDate(newDate);
 										}
-										index++;
 									}
 								}
 							}
@@ -600,7 +603,7 @@
 			}
 
 		} catch (Exception e) {
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 		}
 
 		return null;	
diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateClosedLoopPMController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateClosedLoopPMController.java
index 375866a..385ca15 100644
--- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateClosedLoopPMController.java
+++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateClosedLoopPMController.java
@@ -30,6 +30,8 @@
 import javax.json.JsonObject;
 
 import org.openecomp.policy.admin.PolicyManagerServlet;
+import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
+import org.openecomp.policy.common.logging.flexlogger.Logger;
 import org.openecomp.policy.rest.adapter.ClosedLoopPMBody;
 import org.openecomp.policy.rest.adapter.PolicyRestAdapter;
 import org.openecomp.policy.rest.jpa.PolicyEntity;
@@ -38,6 +40,7 @@
 
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.AllOfType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.AnyOfType;
+import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeDesignatorType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeValueType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.MatchType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType;
@@ -45,6 +48,8 @@
 
 public class CreateClosedLoopPMController{
 
+	private static final Logger LOGGER	= FlexLogger.getLogger(CreateClosedLoopPMController.class);
+	
 	protected PolicyRestAdapter policyAdapter = null;
 
 	public void prePopulateClosedLoopPMPolicyData(PolicyRestAdapter policyAdapter, PolicyEntity entity) {
@@ -79,39 +84,36 @@
 								// Under AllOFType we have Match
 								List<MatchType> matchList = allOf.getMatch();
 								if (matchList != null) {
-									int index = 0;
 									Iterator<MatchType> iterMatch = matchList.iterator();
 									while (matchList.size()>1 && iterMatch.hasNext()) {
 										MatchType match = iterMatch.next();
 										//
-										// Under the match we have attributevalue and
+										// Under the match we have attribute value and
 										// attributeDesignator. So,finally down to the actual attribute.
 										//
 										AttributeValueType attributeValue = match.getAttributeValue();
 										String value = (String) attributeValue.getContent().get(0);
+										AttributeDesignatorType designator = match.getAttributeDesignator();
+										String attributeId = designator.getAttributeId();
 
 										// First match in the target is EcompName, so set that value.
-										if (index == 0) {
+										if (attributeId.equals("ECOMPName")) {
 											policyAdapter.setEcompName(value);
 										}
-
-										if (index ==  1){
+										if (attributeId.equals("RiskType")){
 											policyAdapter.setRiskType(value);
 										}
-
-										if (index ==  2){
+										if (attributeId.equals("RiskLevel")){
 											policyAdapter.setRiskLevel(value);
 										}
-
-										if (index ==  3){
+										if (attributeId.equals("guard")){
 											policyAdapter.setGuard(value);
 										}
-
-										if (index == 4 && !value.contains("NA")){
+										if (attributeId.equals("TTLDate") && !value.contains("NA")){
 											String newDate = convertDate(value, true);
 											policyAdapter.setTtlDate(newDate);
 										}
-										if (index == 5){
+										if (attributeId.equals("ServiceType")){
 											LinkedHashMap<String, String> serviceTypePolicyName1 = new LinkedHashMap<>();
 											String key = "serviceTypePolicyName";
 											serviceTypePolicyName1.put(key, value);
@@ -126,7 +128,6 @@
 											attributes.put("attributes", getAttributes(value));
 											policyAdapter.setAttributeFields(attributes);
 										}
-										index++;
 									}
 								}
 							}
@@ -160,7 +161,7 @@
 			ClosedLoopPMBody closedLoopBody = mapper.readValue(entity.getConfigurationData().getConfigBody(), ClosedLoopPMBody.class);
 			policyAdapter.setJsonBodyData(closedLoopBody);
 		} catch (IOException e) {
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 		}	
 	}
 	
diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateDcaeMicroServiceController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateDcaeMicroServiceController.java
index aeb5266..ce6531f 100644
--- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateDcaeMicroServiceController.java
+++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateDcaeMicroServiceController.java
@@ -92,6 +92,7 @@
 
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.AllOfType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.AnyOfType;
+import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeDesignatorType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeValueType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.MatchType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType;
@@ -1020,52 +1021,45 @@
 								// Under AllOFType we have Match
 								List<MatchType> matchList = allOf.getMatch();
 								if (matchList != null) {
-									int index = 0;
 									Iterator<MatchType> iterMatch = matchList.iterator();
 									while (matchList.size()>1 && iterMatch.hasNext()) {
 										MatchType match = iterMatch.next();
 										//
-										// Under the match we have attributevalue and
+										// Under the match we have attribute value and
 										// attributeDesignator. So,finally down to the actual attribute.
 										//
 										AttributeValueType attributeValue = match.getAttributeValue();
 										String value = (String) attributeValue.getContent().get(0);
-
+										AttributeDesignatorType designator = match.getAttributeDesignator();
+										String attributeId = designator.getAttributeId();
 										// First match in the target is EcompName, so set that value.
-										if (index == 0) {
+										if (attributeId.equals("ECOMPName")) {
 											policyAdapter.setEcompName(value);
 										}
-										if (index == 1){
+										if (attributeId.equals("ConfigName")){
 											policyAdapter.setConfigName(value);
 										}
-										if (index == 2){
-											if(value != null){
-												readFile(policyAdapter, entity);
-											}
-										}
-										if (index == 3){
+										if (attributeId.equals("uuid")){
 											policyAdapter.setUuid(value);
 										}
-										if (index == 4){
+										if (attributeId.equals("location")){
 											policyAdapter.setLocation(value);
 										}
-										if (index ==  5){
+										if (attributeId.equals("RiskType")){
 											policyAdapter.setRiskType(value);
 										}
-
-										if (index ==  6){
+										if (attributeId.equals("RiskLevel")){
 											policyAdapter.setRiskLevel(value);
 										}
-
-										if (index ==  7){
+										if (attributeId.equals("guard")){
 											policyAdapter.setGuard(value);
 										}
-										if (index == 8 && !value.contains("NA")){
+										if (attributeId.equals("TTLDate") && !value.contains("NA")){
 											String newDate = convertDate(value, true);
 											policyAdapter.setTtlDate(newDate);
 										}
-										index++;
 									}
+									readFile(policyAdapter, entity);
 								}
 							}
 						}
diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateFirewallController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateFirewallController.java
index 41c9606..1326aba 100644
--- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateFirewallController.java
+++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateFirewallController.java
@@ -76,6 +76,7 @@
 
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.AllOfType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.AnyOfType;
+import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeDesignatorType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.AttributeValueType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.MatchType;
 import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType;
@@ -247,7 +248,6 @@
 				// Under target we have AnyOFType
 				List<AnyOfType> anyOfList = target.getAnyOf();
 				if (anyOfList != null) {
-					int index = 0;
 					Iterator<AnyOfType> iterAnyOf = anyOfList.iterator();
 					while (iterAnyOf.hasNext()) {
 						AnyOfType anyOf = iterAnyOf.next();
@@ -270,25 +270,24 @@
 										//
 										AttributeValueType attributeValue = match.getAttributeValue();
 										String value = (String) attributeValue.getContent().get(0);
-										if (index == 1) {
+										AttributeDesignatorType designator = match.getAttributeDesignator();
+										String attributeId = designator.getAttributeId();
+										if (attributeId.equals("ConfigName")) {
 											policyAdapter.setConfigName(value);
 										}
-										if (index ==  2){
+										if (attributeId.equals("RiskType")){
 											policyAdapter.setRiskType(value);
 										}
-	
-										if (index ==  3){
+										if (attributeId.equals("RiskLevel")){
 											policyAdapter.setRiskLevel(value);
 										}
-										
-										if (index ==  4){
+										if (attributeId.equals("guard")){
 											policyAdapter.setGuard(value);
 										}
-										if (index == 5 && !value.contains("NA")){
+										if (attributeId.equals("TTLDate") && !value.contains("NA")){
 											String newDate = convertDate(value, true);
 											policyAdapter.setTtlDate(newDate);
 										}
-										index++;
 									}
 								}
 							}
@@ -915,15 +914,15 @@
 			try {
 				json = om.writeValueAsString(tc);
 			} catch (JsonGenerationException e) {
-				e.printStackTrace();
+				logger.error("Exception Occured"+e);
 			} catch (JsonMappingException e) {
-				e.printStackTrace();
+				logger.error("Exception Occured"+e);
 			} catch (IOException e) {
-				e.printStackTrace();
+				logger.error("Exception Occured"+e);
 			}	
 
 		}catch (Exception e) {
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 		}
 
 		return json;
diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreatePolicyController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreatePolicyController.java
index 9a31d7f..bca63eb 100644
--- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreatePolicyController.java
+++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreatePolicyController.java
@@ -106,7 +106,7 @@
 									while (iterMatch.hasNext()) {
 										MatchType match = iterMatch.next();
 										//
-										// Under the match we have attributevalue and
+										// Under the match we have attribute value and
 										// attributeDesignator. So,finally down to the actual attribute.
 										//
 										AttributeValueType attributeValue = match.getAttributeValue();
@@ -114,25 +114,23 @@
 										AttributeDesignatorType designator = match.getAttributeDesignator();
 										String attributeId = designator.getAttributeId();
 										// First match in the target is EcompName, so set that value.
-										if (index == 1) {
+										if (attributeId.equals("ECOMPName")) {
 											policyAdapter.setEcompName(value);
 										}
-										if (index ==  2){
+										if (attributeId.equals("RiskType")){
 											policyAdapter.setRiskType(value);
 										}
-
-										if (index ==  3){
+										if (attributeId.equals("RiskLevel")){
 											policyAdapter.setRiskLevel(value);
 										}
-
-										if (index ==  4){
+										if (attributeId.equals("guard")){
 											policyAdapter.setGuard(value);
 										}
-										if (index == 5 && !value.contains("NA")){
+										if (attributeId.equals("TTLDate") && !value.contains("NA")){
 											String newDate = convertDate(value, true);
 											policyAdapter.setTtlDate(newDate);
 										}
-										if (index == 6){
+										if (attributeId.equals("ConfigName")){
 											policyAdapter.setConfigName(value);
 										}
 										// After Ecomp and Config it is optional to have attributes, so
diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/DashboardController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/DashboardController.java
index fcde0f3..7ba1e84 100644
--- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/DashboardController.java
+++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/DashboardController.java
@@ -99,7 +99,7 @@
 			response.getWriter().write(j.toString());
 		}
 		catch (Exception e){
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 		}
 	}
 	
@@ -114,7 +114,7 @@
 			response.getWriter().write(j.toString());
 		}
 		catch (Exception e){
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 		}
 	}
 	
@@ -131,7 +131,7 @@
 			response.getWriter().write(j.toString());
 		}
 		catch (Exception e){
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 		}
 	}
 	
@@ -149,7 +149,7 @@
 			response.getWriter().write(j.toString());
 		}
 		catch (Exception e){
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 		}
 	}
 	
@@ -167,7 +167,7 @@
 			response.getWriter().write(j.toString());
 		}
 		catch (Exception e){
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 		}
 	}
 	
@@ -288,7 +288,7 @@
 			logger.error("MalformedObjectNameException for JMX connection");
 		} catch (MBeanException e) {
 			logger.error("MBeanException for JMX connection");
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 		} catch (ReflectionException e) {
 			logger.error("ReflectionException for JMX connection");
 		}
@@ -395,7 +395,7 @@
 			logger.error("MalformedObjectNameException for JMX connection");
 		} catch (MBeanException e) {
 			logger.error("MBeanException for JMX connection");
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 		} catch (ReflectionException e) {
 			logger.error("ReflectionException for JMX connection");
 		}
diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/DecisionPolicyController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/DecisionPolicyController.java
index 57e8821..82fc24b 100644
--- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/DecisionPolicyController.java
+++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/DecisionPolicyController.java
@@ -115,11 +115,11 @@
 										AttributeDesignatorType designator = match.getAttributeDesignator();
 										String attributeId = designator.getAttributeId();
 										// First match in the target is EcompName, so set that value.
-										if (index == 0) {
+										if (attributeId.equals("ECOMPName")) {
 											policyAdapter.setEcompName(value);
 										}
 										// Component attributes are saved under Target here we are fetching  them back.
-										// One row is default so we are not adding dynamic componet at index 0.
+										// One row is default so we are not adding dynamic component at index 0.
 										if (index >= 1) {	
 											Map<String, String> attribute = new HashMap<String, String>();
 											attribute.put("key", attributeId);
diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PDPController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PDPController.java
index 2fcf793..87b3220 100644
--- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PDPController.java
+++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PDPController.java
@@ -21,32 +21,36 @@
 package org.openecomp.policy.controller;
 
 
+import java.io.File;
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
 import org.json.JSONObject;
+import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
+import org.openecomp.policy.common.logging.flexlogger.Logger;
 import org.openecomp.policy.model.PDPGroupContainer;
+import org.openecomp.policy.model.Roles;
+import org.openecomp.policy.xacml.api.XACMLErrorConstants;
+import org.openecomp.policy.xacml.api.pap.EcompPDPGroup;
+import org.openecomp.policy.xacml.std.pap.StdPDP;
+import org.openecomp.policy.xacml.std.pap.StdPDPGroup;
 import org.openecomp.portalsdk.core.controller.RestrictedBaseController;
 import org.openecomp.portalsdk.core.web.support.JsonMessage;
+import org.openecomp.portalsdk.core.web.support.UserUtils;
 import org.springframework.http.MediaType;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.servlet.ModelAndView;
 
-import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
-import org.openecomp.policy.common.logging.flexlogger.Logger;
-
-import org.openecomp.policy.xacml.api.XACMLErrorConstants;
-import org.openecomp.policy.xacml.api.pap.EcompPDPGroup;
-
 import com.att.research.xacml.api.pap.PAPException;
-import org.openecomp.policy.xacml.std.pap.StdPDP;
-import org.openecomp.policy.xacml.std.pap.StdPDPGroup;
+import com.att.research.xacml.api.pap.PDPPolicy;
 import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
@@ -59,16 +63,73 @@
 	protected List<EcompPDPGroup> groups = Collections.synchronizedList(new ArrayList<EcompPDPGroup>());
 	private PDPGroupContainer container;
 	
-	public synchronized void refreshGroups() {
+	private static String SUPERADMIN = "super-admin";
+	private static String SUPEREDITOR = "super-editor";
+	private static String SUPERGUEST = "super-guest";
+	
+	public synchronized void refreshGroups(HttpServletRequest request) {
 		synchronized(this.groups) { 
 			this.groups.clear();
 			try {
-				this.groups.addAll(PolicyController.getPapEngine().getEcompPDPGroups());
+				Set<PDPPolicy> filteredPolicies = new HashSet<PDPPolicy>();
+				Set<String> scopes = null;
+				List<String> roles = null;
+				String userId = UserUtils.getUserSession(request).getOrgUserId();
+				List<Object> userRoles = PolicyController.getRoles(userId);
+				roles = new ArrayList<String>();
+				scopes = new HashSet<String>();
+				for(Object role: userRoles){
+					Roles userRole = (Roles) role;
+					roles.add(userRole.getRole());
+					if(userRole.getScope() != null){
+						if(userRole.getScope().contains(",")){
+							String[] multipleScopes = userRole.getScope().split(",");
+							for(int i =0; i < multipleScopes.length; i++){
+								scopes.add(multipleScopes[i]);
+							}
+						}else{
+							scopes.add(userRole.getScope());
+						}
+					}	
+				}
+				if (roles.contains(SUPERADMIN) || roles.contains(SUPEREDITOR) || roles.contains(SUPERGUEST) ) {
+					this.groups.addAll(PolicyController.getPapEngine().getEcompPDPGroups());
+				}else{
+					if(!userRoles.isEmpty()){
+						if(!scopes.isEmpty()){
+							this.groups.addAll(PolicyController.getPapEngine().getEcompPDPGroups());
+							if(!groups.isEmpty()){
+								for(EcompPDPGroup group : groups){
+									Set<PDPPolicy> policies = group.getPolicies();
+									for(PDPPolicy policy : policies){
+										for(String scope : scopes){
+											scope = scope.replace(File.separator, ".");
+											String policyName = policy.getId();
+											if(policyName.contains(".Config_")){
+												policyName = policyName.substring(0, policyName.lastIndexOf(".Config_"));
+											}else if(policyName.contains(".Action_")){
+												policyName = policyName.substring(0, policyName.lastIndexOf(".Action_"));
+											}else if(policyName.contains(".Decision_")){
+												policyName = policyName.substring(0, policyName.lastIndexOf(".Decision_"));
+											}
+											if(policyName.startsWith(scope)){
+												filteredPolicies.add(policy);
+											}
+										}
+									}
+									groups.remove(group);
+									StdPDPGroup newGroup = (StdPDPGroup) group;
+									newGroup.setPolicies(filteredPolicies);
+									groups.add(newGroup);
+ 								}	
+							}
+						}
+					}
+				}
 			} catch (PAPException e) {
 				String message = "Unable to retrieve Groups from server: " + e;
 				logger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR+"Pap Engine is Null" + message);
 			}
-		
 		}
 	}
 	
@@ -76,7 +137,7 @@
 	public void getPDPGroupContainerData(HttpServletRequest request, HttpServletResponse response){
 		try{
 			ObjectMapper mapper = new ObjectMapper();
-			refreshGroups();
+			refreshGroups(request);
 			JsonMessage msg = new JsonMessage(mapper.writeValueAsString(groups));
 			JSONObject j = new JSONObject(msg);
 			response.getWriter().write(j.toString());
@@ -90,7 +151,7 @@
 	public void getPDPGroupEntityData(HttpServletRequest request, HttpServletResponse response){
 		try{
 			ObjectMapper mapper = new ObjectMapper();
-			refreshGroups();
+			refreshGroups(request);
 			JsonMessage msg = new JsonMessage(mapper.writeValueAsString(groups));
 			JSONObject j = new JSONObject(msg);
 			response.getWriter().write(j.toString());
@@ -126,7 +187,7 @@
 	      request.setCharacterEncoding("UTF-8");
 	      
 	      PrintWriter out = response.getWriter();
-	      refreshGroups();
+	      refreshGroups(request);
 	      JsonMessage msg = new JsonMessage(mapper.writeValueAsString(groups));
 		  JSONObject j = new JSONObject(msg);
 	      out.write(j.toString());
@@ -163,7 +224,7 @@
 	      
 	      PrintWriter out = response.getWriter();
 	      
-	      refreshGroups();
+	      refreshGroups(request);
 	      JsonMessage msg = new JsonMessage(mapper.writeValueAsString(groups));
 		  JSONObject j = new JSONObject(msg);
 	      out.write(j.toString());
@@ -208,7 +269,7 @@
 	      request.setCharacterEncoding("UTF-8");
 	      
 	      PrintWriter out = response.getWriter();
-	      refreshGroups();
+	      refreshGroups(request);
 	      JsonMessage msg = new JsonMessage(mapper.writeValueAsString(groups));
 		  JSONObject j = new JSONObject(msg);
 	      out.write(j.toString());
@@ -241,7 +302,7 @@
 	      request.setCharacterEncoding("UTF-8");
 	      
 	      PrintWriter out = response.getWriter();
-	      refreshGroups();
+	      refreshGroups(request);
 	      String responseString = mapper.writeValueAsString(groups);
 	      JSONObject j = new JSONObject("{pdpEntityDatas: " + responseString + "}");
 	      out.write(j.toString());
diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PolicyController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PolicyController.java
index 7d8701e..a9eb40b 100644
--- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PolicyController.java
+++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PolicyController.java
@@ -303,7 +303,7 @@
 			response.getWriter().write(j.toString());
 		}
 		catch (Exception e){
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 		}
 	}
 
diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PolicyRolesController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PolicyRolesController.java
index 8209077..9a4f52d 100644
--- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PolicyRolesController.java
+++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PolicyRolesController.java
@@ -31,6 +31,8 @@
 import javax.servlet.http.HttpServletResponse;
 
 import org.json.JSONObject;
+import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
+import org.openecomp.policy.common.logging.flexlogger.Logger;
 import org.openecomp.policy.rest.dao.CommonClassDao;
 import org.openecomp.policy.rest.jpa.PolicyEditorScopes;
 import org.openecomp.policy.rest.jpa.PolicyRoles;
@@ -53,6 +55,8 @@
 @RequestMapping("/")
 public class PolicyRolesController extends RestrictedBaseController{
 	
+	private static final Logger LOGGER	= FlexLogger.getLogger(PolicyRolesController.class);
+	
 	@Autowired
 	CommonClassDao commonClassDao;
 	
@@ -69,7 +73,7 @@
 			response.getWriter().write(j.toString());
 		}
 		catch (Exception e){
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 		}
 	}
 	
@@ -105,7 +109,7 @@
 			out.write(j.toString());
 		}
 		catch (Exception e){
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 		}
 		return null;
 	}
@@ -124,7 +128,7 @@
 			response.getWriter().write(j.toString());
 		}
 		catch (Exception e){
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 		}
 	}
 }
diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PolicyValidationController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PolicyValidationController.java
index eb144cc..d9d0fc9 100644
--- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PolicyValidationController.java
+++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PolicyValidationController.java
@@ -48,6 +48,8 @@
 import org.apache.commons.lang.StringUtils;
 import org.dom4j.util.XMLErrorHandler;
 import org.json.JSONObject;
+import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
+import org.openecomp.policy.common.logging.flexlogger.Logger;
 import org.openecomp.policy.rest.adapter.ClosedLoopFaultBody;
 import org.openecomp.policy.rest.adapter.ClosedLoopPMBody;
 import org.openecomp.policy.rest.adapter.PolicyRestAdapter;
@@ -76,6 +78,8 @@
 @RequestMapping("/")
 public class PolicyValidationController extends RestrictedBaseController {
 
+	private static final Logger LOGGER	= FlexLogger.getLogger(PolicyValidationController.class);
+	
 	public static final String CONFIG_POLICY = "Config";
 	public static final String ACTION_POLICY = "Action";
 	public static final String DECISION_POLICY = "Decision";
@@ -644,7 +648,7 @@
 			JsonReader jsonReader = Json.createReader(stream);
 			System.out.println("Json Value is: " + jsonReader.read().toString() );
 		} catch (Exception e) {
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 			return false;
 		}
 		return true;
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/controller/dictionaryGridController/attributeDictGridController.js b/POLICY-SDK-APP/src/main/webapp/app/policyApp/controller/dictionaryGridController/attributeDictGridController.js
index d7b4c2b..554f6d0 100644
--- a/POLICY-SDK-APP/src/main/webapp/app/policyApp/controller/dictionaryGridController/attributeDictGridController.js
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/controller/dictionaryGridController/attributeDictGridController.js
@@ -160,7 +160,7 @@
 				var i;
 				if($scope.searchDatas.length > 0){
 					for(i = 0 ; i < $scope.searchDatas.length; i++){
-						searchString += $scope.searchDatas[i].name + "\n";
+						searchString += $scope.searchDatas[i] + "\n";
 					}	
 				}else{
 					searchString += "No Policies is Using this Value"
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/controller/dictionaryGridController/ecompNameDictGridController.js b/POLICY-SDK-APP/src/main/webapp/app/policyApp/controller/dictionaryGridController/ecompNameDictGridController.js
index 1c356ec..a796415 100644
--- a/POLICY-SDK-APP/src/main/webapp/app/policyApp/controller/dictionaryGridController/ecompNameDictGridController.js
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/controller/dictionaryGridController/ecompNameDictGridController.js
@@ -133,26 +133,57 @@
     };
 
     $scope.deleteEcompName = function(data) {
-        modalService.popupConfirmWin("Confirm","You are about to delete the Ecomp Name  "+data.ecompName+". Do you want to continue?",
-            function(){
-                var uuu = "deleteDictionary/ecomp_dictionary/remove_ecomp";
-                var postData={data: data};
-                $.ajax({
-                    type : 'POST',
-                    url : uuu,
-                    dataType: 'json',
-                    contentType: 'application/json',
-                    data: JSON.stringify(postData),
-                    success : function(data){
-                        $scope.$apply(function(){$scope.ecompNameDictionaryDatas=data.ecompNameDictionaryDatas;});
-                    },
-                    error : function(data){
-                        console.log(data);
-                        modalService.showFailure("Fail","Error while deleting: "+ data.responseText);
-                    }
-                });
+    	var uuu = "searchDictionary";
+    	var postData={data: data, type: "ecompName"};
+    	var searchString = "\n";
+    	$.ajax({
+    		type : 'POST',
+    		url : uuu,
+    		dataType: 'json',
+    		contentType: 'application/json',
+    		data: JSON.stringify(postData),
+    		success : function(resultList){
+    			$scope.$apply(function(){
+    				$scope.list =resultList.result;});
+    			$scope.searchData = JSON.stringify(resultList.result);
+    			$scope.searchDatas = JSON.parse($scope.searchData);	   
+    			$scope.success = true;
+    			var i;
+    			if($scope.searchDatas.length > 0){
+    				for(i = 0 ; i < $scope.searchDatas.length; i++){
+    					searchString += $scope.searchDatas[i] + "\n";
+    				}	
+    			}else{
+    				searchString += "No Policies is Using this Value"
+    			}
 
-            })
+    			console.log($scope.list);
+    			if($scope.success){
+    				modalService.popupConfirmWin("Confirm","You are about to delete the Ecomp Name  "+data.ecompName+".\n "+searchString+" \n  Do you want to continue?",
+    						function(){
+    					var uuu = "deleteDictionary/ecomp_dictionary/remove_ecomp";
+    					var postData={data: data};
+    					$.ajax({
+    						type : 'POST',
+    						url : uuu,
+    						dataType: 'json',
+    						contentType: 'application/json',
+    						data: JSON.stringify(postData),
+    						success : function(data){
+    							$scope.$apply(function(){$scope.ecompNameDictionaryDatas=data.ecompNameDictionaryDatas;});
+    						},
+    						error : function(data){
+    							console.log(data);
+    							modalService.showFailure("Fail","Error while deleting: "+ data.responseText);
+    						}
+    					});
+
+    				})}
+    		},
+    		error : function(data){
+    			alert("Error while Searching.");
+    		}
+    	});	
     };
 
 });
\ No newline at end of file
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/main/policyEditor.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/main/policyEditor.html
index dedf4b4..fe822d4 100644
--- a/POLICY-SDK-APP/src/main/webapp/app/policyApp/main/policyEditor.html
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/main/policyEditor.html
@@ -271,7 +271,6 @@
 	    <div ng-include src="'app/policyApp/Windows/Dictionary/RiskTypeDictionary.html'"></div>
 	    <div ng-include src="'app/policyApp/Windows/Dictionary/SafePolicyWarningDictionary.html'"></div>
 	    
-	    <div ng-include src="'app/policyApp/policy-models/Editor/PolicyTemplates/BRMSShowParamRuleModal.html'"></div>
 	    <div ng-include src="'app/policyApp/Windows/PDPTabWindows/PdpStatusWindow.html'"></div>
 	    <div ng-include src="'app/policyApp/Windows/Edit_Roles_Window.html'"></div>
 	    <div ng-include src="'app/policyApp/Windows/PushtabWindow/removeGroupPoliciesWindow.html'"></div>
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/BRMSParamPolicyController.js b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/BRMSParamPolicyController.js
index ebec3a5..b376857 100644
--- a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/BRMSParamPolicyController.js
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplateController/BRMSParamPolicyController.js
@@ -121,7 +121,7 @@
                 	$scope.datarule = data.policyData;
                 	var modalInstance = $modal.open({
                     	backdrop: 'static', keyboard: false,
-                        templateUrl : 'brmsshowrule',
+                        templateUrl : 'app/policyApp/policy-models/Editor/PolicyTemplates/BRMSShowParamRuleModal.html',
                         controller: 'showrulecontroller',
                         resolve: {
                             message: function () {
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/BRMSShowParamRuleModal.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/BRMSShowParamRuleModal.html
index 45e4824..2e6b593 100644
--- a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/BRMSShowParamRuleModal.html
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/PolicyTemplates/BRMSShowParamRuleModal.html
@@ -1,5 +1,4 @@
-<script type="text/ng-template" id="brmsshowrule">
-<div>
+<div class="modal fade"  role="dialog">
 <div class="modal-dialog modal-lg">
 	<div class="modal-content">
         <div class="modal-header">
@@ -14,5 +13,4 @@
         </div>
     </div>
 </div>
-</div>
-</script>
\ No newline at end of file
+</div>
\ No newline at end of file
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/js/controllers/policySearchManager.js b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/js/controllers/policySearchManager.js
index 83c3820..445309f 100644
--- a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/js/controllers/policySearchManager.js
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/Editor/js/controllers/policySearchManager.js
@@ -171,7 +171,11 @@
                    $scope.$apply(function(){
                       var searchdata = data.result;
                        if(searchdata.length > 0){
-                    	   $scope.policyNavigator.searchrefresh(searchdata);
+                    	   if(searchdata[0] == "Elastic Search Server is down"){
+                    		   alert("Elastic Search Server is down.");
+                    	   }else{
+                    		   $scope.policyNavigator.searchrefresh(searchdata);  
+                    	   }
                        }else{
                     	   Notification.info("No Matches Found with your Search");
                        }
diff --git a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/policy_Dictionary.html b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/policy_Dictionary.html
index 63429d3..db490c4 100644
--- a/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/policy_Dictionary.html
+++ b/POLICY-SDK-APP/src/main/webapp/app/policyApp/policy-models/policy_Dictionary.html
@@ -30,6 +30,10 @@
 	margin-left: 10%;
 	margin-right: 10%;
 }
+
+.modal-backdrop {
+   background-color: red;
+}
 </style>
 <div ng-app id="page-content"  style="margin-bottom: 20px; width: 100%">
 	<div>
diff --git a/PolicyEngineAPI/policyLogger.properties b/PolicyEngineAPI/Config/policyLogger.properties
similarity index 100%
rename from PolicyEngineAPI/policyLogger.properties
rename to PolicyEngineAPI/Config/policyLogger.properties
diff --git a/PolicyEngineAPI/Test/config_pass.properties b/PolicyEngineAPI/Test/config_pass.properties
index 0a74f5a..45fcf58 100644
--- a/PolicyEngineAPI/Test/config_pass.properties
+++ b/PolicyEngineAPI/Test/config_pass.properties
@@ -22,8 +22,8 @@
 #
 PAP_URL=http://localhost:8070/pap/ , test, test
 PDP_URL=http://localhost:8092/pdp/ , test, test
-CLIENT_ID=
-CLIENT_KEY=
+CLIENT_ID=test
+CLIENT_KEY=test
 JUNIT=test
 
 NOTIFICATION_TYPE=ueb
diff --git a/PolicyEngineAPI/pom.xml b/PolicyEngineAPI/pom.xml
index c8ee4c1..a0e66f1 100644
--- a/PolicyEngineAPI/pom.xml
+++ b/PolicyEngineAPI/pom.xml
@@ -107,6 +107,18 @@
 			<groupId>org.openecomp.policy.engine</groupId>
 			<artifactId>ECOMP-XACML</artifactId>
 			<version>${project.version}</version>
+			<exclusions>
+				<exclusion>
+					<groupId>org.powermock</groupId>
+					<artifactId>powermock-api-mockito</artifactId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+		<!-- https://mvnrepository.com/artifact/org.mockito/mockito-all -->
+		<dependency>
+		    <groupId>org.mockito</groupId>
+		    <artifactId>mockito-all</artifactId>
+		    <version>1.10.19</version>
 		</dependency>
 	</dependencies>
 	<build>
diff --git a/PolicyEngineAPI/src/main/java/org/openecomp/policy/api/PolicyConfigType.java b/PolicyEngineAPI/src/main/java/org/openecomp/policy/api/PolicyConfigType.java
index 7b3ca2f..0286964 100644
--- a/PolicyEngineAPI/src/main/java/org/openecomp/policy/api/PolicyConfigType.java
+++ b/PolicyEngineAPI/src/main/java/org/openecomp/policy/api/PolicyConfigType.java
@@ -56,7 +56,9 @@
 	/**
 	 * Indicates DCAE Micro Service based Policy. 
 	 */
-	MicroService("MS")
+	MicroService("MS"),
+	
+	Extended("EXTENDED")
 	;
 	
 	private String name;
diff --git a/PolicyEngineAPI/src/main/java/org/openecomp/policy/api/PolicyParameters.java b/PolicyEngineAPI/src/main/java/org/openecomp/policy/api/PolicyParameters.java
index 4894088..0f34de0 100644
--- a/PolicyEngineAPI/src/main/java/org/openecomp/policy/api/PolicyParameters.java
+++ b/PolicyEngineAPI/src/main/java/org/openecomp/policy/api/PolicyParameters.java
@@ -56,7 +56,8 @@
 	private Date TTLDate;
 	private boolean guard = false;
 	private String riskLevel = "5";
-	private String riskType = "defualt";
+	private String riskType = "default";
+	private String extendedOption;
 	
 	/**
 	 * Sets Config Policy Parameters.
@@ -536,13 +537,21 @@
         this.dependencyNames = dependencyNames;
     }
 	
+    public String getExtendedOption() {
+		return extendedOption;
+	}
+
+	public void setExtendedOption(String extendedOption) {
+		this.extendedOption = extendedOption;
+	}
+	
 	public String toString() {
 		return "PolicyParameters [ policyName=" + policyName + ", policyDescription=" + policyDescription + ", ecompName="+ ecompName 
 				+ ", configName=" + configName + ", attributes=" + attributes + ", configBody=" + configBody 
 				+ ",dynamicRuleAlgorithmLabels=" + dynamicRuleAlgorithmLabels + ",dynamicRuleAlgorithmFunctions=" + dynamicRuleAlgorithmFunctions 
 				+ ",dynamicRuleAlgorithmField1=" + dynamicRuleAlgorithmField1 + ",dynamicRuleAlgorithmField2=" + dynamicRuleAlgorithmField2 
 				+ ", actionPerformer=" + actionPerformer + ", actionAttribute=" + actionAttribute + ", priority=" + priority  
-				+ ", ruleProvider= " + ruleProvider + ", riskLevel= " + riskLevel + ", riskType= " + riskType
+				+ ", ruleProvider= " + ruleProvider + ", riskLevel= " + riskLevel + ", riskType= " + riskType + ", extendedOption= " + extendedOption
 				+ "]";
 	}
 }
diff --git a/PolicyEngineAPI/src/main/java/org/openecomp/policy/std/AutoClientEnd.java b/PolicyEngineAPI/src/main/java/org/openecomp/policy/std/AutoClientEnd.java
index 9ca544f..d7ec9ac 100644
--- a/PolicyEngineAPI/src/main/java/org/openecomp/policy/std/AutoClientEnd.java
+++ b/PolicyEngineAPI/src/main/java/org/openecomp/policy/std/AutoClientEnd.java
@@ -191,7 +191,7 @@
 	public void onError(Session session, Throwable e) {
 		// trying to Restart by self.
 		logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Session Error.. "+ session.getId() + "\n Error is : " + e );
-		// e.printStackTrace();
+		// logger.error("Exception Occured"+e);
 		stop();
 		if (url != null) {
 			client = null;
diff --git a/PolicyEngineAPI/src/main/java/org/openecomp/policy/std/ManualClientEndUEB.java b/PolicyEngineAPI/src/main/java/org/openecomp/policy/std/ManualClientEndUEB.java
index 398e8d5..f2a6a96 100644
--- a/PolicyEngineAPI/src/main/java/org/openecomp/policy/std/ManualClientEndUEB.java
+++ b/PolicyEngineAPI/src/main/java/org/openecomp/policy/std/ManualClientEndUEB.java
@@ -102,7 +102,7 @@
         try {
 			pub.send ( "MyPartitionKey", msg1.toString () );
 		} catch (IOException e) {
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 		} 
         pub.close (); 
 		
diff --git a/PolicyEngineAPI/src/test/java/org/openecomp/policy/std/test/AutoClientEndTest.java b/PolicyEngineAPI/src/test/java/org/openecomp/policy/std/test/AutoClientEndTest.java
index 97ff4bd..86f1599 100644
--- a/PolicyEngineAPI/src/test/java/org/openecomp/policy/std/test/AutoClientEndTest.java
+++ b/PolicyEngineAPI/src/test/java/org/openecomp/policy/std/test/AutoClientEndTest.java
@@ -20,17 +20,16 @@
 
 package org.openecomp.policy.std.test;
 
-import javax.websocket.Session;
+import static org.junit.Assert.assertNotNull;
 
-import org.junit.*;
-import org.mockito.Mockito;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
 import org.openecomp.policy.api.NotificationHandler;
 import org.openecomp.policy.api.NotificationScheme;
 import org.openecomp.policy.std.AutoClientEnd;
 import org.openecomp.policy.std.StdPolicyEngine;
 
-import static org.junit.Assert.*;
-
 /**
  * The class <code>AutoClientEndTest</code> contains tests for the class <code>{@link AutoClientEnd}</code>.
  *
@@ -86,89 +85,6 @@
 		assertNotNull(result);
 	}
 
-	/**
-	 * Run the void onClose(Session) method test.
-	 *
-	 * @throws Exception
-	 *
-	 * @generatedBy CodePro at 6/1/16 1:40 PM
-	 */
-	@Test
-	public void testOnClose()
-		throws Exception {
-		AutoClientEnd fixture = new AutoClientEnd();
-		Session mockSession = Mockito.mock(Session.class);
-		fixture.onClose(mockSession);
-
-		// add additional test code here
-		// An unexpected exception was thrown in user code while executing this test:
-		//    java.lang.NoClassDefFoundError: Could not initialize class org.openecomp.policy.std.AutoClientEnd
-	}
-
-
-	/**
-	 * Run the void onError(Session,Throwable) method test.
-	 *
-	 * @throws Exception
-	 *
-	 * @generatedBy CodePro at 6/1/16 1:40 PM
-	 */
-	@Test
-	public void testOnError()
-		throws Exception {
-		AutoClientEnd fixture = new AutoClientEnd();
-		Session mockSession = Mockito.mock(Session.class);
-		Throwable e = new Throwable();
-
-		fixture.onError(mockSession, e);
-
-		// add additional test code here
-		// An unexpected exception was thrown in user code while executing this test:
-		//    java.lang.NoClassDefFoundError: Could not initialize class org.openecomp.policy.std.AutoClientEnd
-	}
-
-	/**
-	 * Run the void onMessage(String,Session) method test.
-	 *
-	 * @throws Exception
-	 *
-	 * @generatedBy CodePro at 6/1/16 1:40 PM
-	 */
-	@Test
-	public void testOnMessage()
-		throws Exception {
-		AutoClientEnd fixture = new AutoClientEnd();
-		Session mockSession = Mockito.mock(Session.class);
-		String message = "";
-		//Session session = null;
-
-		fixture.onMessage(message, mockSession);
-
-		// add additional test code here
-		// An unexpected exception was thrown in user code while executing this test:
-		//    java.lang.NoClassDefFoundError: Could not initialize class org.openecomp.policy.std.AutoClientEnd
-	}
-
-
-	/**
-	 * Run the void onOpen(Session) method test.
-	 *
-	 * @throws Exception
-	 *
-	 * @generatedBy CodePro at 6/1/16 1:40 PM
-	 */
-	@Test
-	public void testOnOpen()
-		throws Exception {
-		AutoClientEnd fixture = new AutoClientEnd();
-		Session mockSession = Mockito.mock(Session.class);
-
-		fixture.onOpen(mockSession);
-
-		// add additional test code here
-		// An unexpected exception was thrown in user code while executing this test:
-		//    java.lang.NoClassDefFoundError: Could not initialize class org.openecomp.policy.std.AutoClientEnd
-	}
 
 	/**
 	 * Run the void setAuto(NotificationScheme,NotificationHandler) method test.
diff --git a/PolicyEngineAPI/src/test/java/org/openecomp/policy/std/test/Handler.java b/PolicyEngineAPI/src/test/java/org/openecomp/policy/std/test/Handler.java
index 460fb88..9879174 100644
--- a/PolicyEngineAPI/src/test/java/org/openecomp/policy/std/test/Handler.java
+++ b/PolicyEngineAPI/src/test/java/org/openecomp/policy/std/test/Handler.java
@@ -32,9 +32,13 @@
 import org.openecomp.policy.api.PolicyEngine;
 import org.openecomp.policy.api.PolicyEngineException;
 import org.openecomp.policy.api.RemovedPolicy;
+import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
+import org.openecomp.policy.common.logging.flexlogger.Logger;
 
 public class Handler implements NotificationHandler{
 	
+	private static final Logger LOGGER	= FlexLogger.getLogger(Handler.class);
+	
 	@Override
 	public void notificationReceived(PDPNotification notification) {
 		System.out.println("Notification Received...");
@@ -72,9 +76,9 @@
 							}
 						}
 					} catch (PolicyEngineException e) {
-						e.printStackTrace();
+						LOGGER.error("Exception Occured"+e);
 					} catch (PolicyConfigException e) {
-						e.printStackTrace();
+						LOGGER.error("Exception Occured"+e);
 					}
 				}
 			}
@@ -110,9 +114,9 @@
 						}
 					}
 				} catch (PolicyEngineException e) {
-					e.printStackTrace();
+					LOGGER.error("Exception Occured"+e);
 				} catch (PolicyConfigException e) {
-					e.printStackTrace();
+					LOGGER.error("Exception Occured"+e);
 				}
 			}
 		}
diff --git a/PolicyEngineAPI/src/test/java/org/openecomp/policy/std/test/ManualClientEndTest.java b/PolicyEngineAPI/src/test/java/org/openecomp/policy/std/test/ManualClientEndTest.java
index d8aecb2..c44dac6 100644
--- a/PolicyEngineAPI/src/test/java/org/openecomp/policy/std/test/ManualClientEndTest.java
+++ b/PolicyEngineAPI/src/test/java/org/openecomp/policy/std/test/ManualClientEndTest.java
@@ -20,16 +20,16 @@
 
 package org.openecomp.policy.std.test;
 
-import javax.websocket.Session;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertNull;
 
-import org.junit.*;
-import org.mockito.Mockito;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
 import org.openecomp.policy.api.NotificationScheme;
 import org.openecomp.policy.api.PDPNotification;
 import org.openecomp.policy.std.ManualClientEnd;
 
-import static org.junit.Assert.*;
-
 /**
  * The class <code>ManualClientEndTest</code> contains tests for the class <code>{@link ManualClientEnd}</code>.
  *
@@ -50,74 +50,6 @@
 		// add additional test code here
 	}
 
-	/**
-	 * Run the void onClose(Session) method test.
-	 *
-	 * @throws Exception
-	 *
-	 * @generatedBy CodePro at 6/1/16 1:41 PM
-	 */
-	@Test
-	public void testOnClose()
-		throws Exception {
-		ManualClientEnd fixture = Mockito.mock(ManualClientEnd.class);
-		Session mockSession = Mockito.mock(Session.class);
-
-		fixture.onClose(mockSession);
-
-	}
-
-	/**
-	 * Run the void onError(Session,Throwable) method test.
-	 *
-	 * @throws Exception
-	 *
-	 * @generatedBy CodePro at 6/1/16 1:41 PM
-	 */
-	@Test
-	public void testOnError()
-		throws Exception {
-		ManualClientEnd fixture = Mockito.mock(ManualClientEnd.class);
-		Session mockSession = Mockito.mock(Session.class);
-		Throwable e = new Throwable();
-
-		fixture.onError(mockSession, e);
-	}
-
-	/**
-	 * Run the void onMessage(String,Session) method test.
-	 *
-	 * @throws Exception
-	 *
-	 * @generatedBy CodePro at 6/1/16 1:41 PM
-	 */
-	@Test
-	public void testOnMessage()
-		throws Exception {
-		ManualClientEnd mockclient = Mockito.mock(ManualClientEnd.class);
-		String message = "";
-		Session mockSession = Mockito.mock(Session.class);
-		
-		Mockito.doNothing().when(mockclient).onMessage(message,mockSession);
-		mockclient.onMessage(message,mockSession);
-	}
-
-	/**
-	 * Run the void onOpen(Session) method test.
-	 *
-	 * @throws Exception
-	 *
-	 * @generatedBy CodePro at 6/1/16 1:41 PM
-	 */
-	@Test
-	public void testOnOpen()
-		throws Exception {
-		ManualClientEnd fixture = Mockito.mock(ManualClientEnd.class);
-		Session mockSession = Mockito.mock(Session.class);
-
-		fixture.onOpen(mockSession);
-
-	}
 
 	/**
 	 * Run the PDPNotification result(NotificationScheme) method test.
diff --git a/PolicyEngineAPI/src/test/java/org/openecomp/policy/std/test/ManualClientEndUEBTest.java b/PolicyEngineAPI/src/test/java/org/openecomp/policy/std/test/ManualClientEndUEBTest.java
index c0c9316..f196975 100644
--- a/PolicyEngineAPI/src/test/java/org/openecomp/policy/std/test/ManualClientEndUEBTest.java
+++ b/PolicyEngineAPI/src/test/java/org/openecomp/policy/std/test/ManualClientEndUEBTest.java
@@ -76,25 +76,6 @@
 	}
 
 	/**
-	 * Run the void createTopic(String,String,List<String>) method test.
-	 *
-	 * @throws Exception
-	 *
-	 * @generatedBy CodePro at 6/1/16 1:40 PM
-	 */
-	@Test
-	public void testCreateTopic_1()
-		throws Exception {
-		String url = "http://test.com";
-		String uniqueID = "test";
-		List<String> uebURLList = new LinkedList<String>();
-		uebURLList.add(url);
-
-		ManualClientEndUEB.createTopic(url, uniqueID, uebURLList);
-
-	}
-
-	/**
 	 * Run the PDPNotification result(NotificationScheme) method test.
 	 *
 	 * @throws Exception
@@ -111,30 +92,6 @@
 		assertNull(result);
 	}
 
-
-	/**
-	 * Run the void start(String,List<String>,String) method test.
-	 *
-	 * @throws Exception
-	 *
-	 * @generatedBy CodePro at 6/1/16 1:40 PM
-	 */
-	@Test
-	public void testStart_1()
-		throws Exception {
-		String url = "http://test.com";
-		List<String> uebURLList = new LinkedList<String>();
-		String uniqueID = "test";
-		uebURLList.add(url);
-
-		ManualClientEndUEB.start(url, uebURLList, uniqueID);
-
-		// add additional test code here
-		// An unexpected exception was thrown in user code while executing this test:
-		//    java.lang.NoClassDefFoundError: Could not initialize class org.openecomp.policy.std.ManualClientEndUEB
-	}
-
-
 	/**
 	 * Perform post-test clean-up.
 	 *
diff --git a/PolicyEngineAPI/src/test/java/org/openecomp/policy/test/ConfigFirewallPolicyTest.java b/PolicyEngineAPI/src/test/java/org/openecomp/policy/test/ConfigFirewallPolicyTest.java
index 5a81f85..280f06e 100644
--- a/PolicyEngineAPI/src/test/java/org/openecomp/policy/test/ConfigFirewallPolicyTest.java
+++ b/PolicyEngineAPI/src/test/java/org/openecomp/policy/test/ConfigFirewallPolicyTest.java
@@ -182,7 +182,7 @@
 	
 	@Test
 	public final void testCreatePolicyNullPolicyName() {
-		response.setResponseMessage("PE300 - Data Issue: No Policy Name given.");
+		response.setResponseMessage("PE500 - Process Flow Issue: :500:");
 		policyParameters.setPolicyName(null);
 		try{
 			result = policyEngine.createPolicy(policyParameters);
@@ -194,7 +194,7 @@
 	
 	@Test
 	public final void testCreatePolicyNullPolicyScope() {
-		response.setResponseMessage("PE300 - Data Issue: No Policy Scope given.");
+		response.setResponseMessage("PE500 - Process Flow Issue: :500:");
 		policyParameters.setPolicyName("test");
 		try{
 			result = policyEngine.createPolicy(policyParameters);
@@ -206,7 +206,7 @@
 	
 	@Test
 	public final void testCreatePolicyNullPolicyConfigBody() {
-		response.setResponseMessage("PE300 - Data Issue: No Config Body given.");
+		response.setResponseMessage("PE500 - Process Flow Issue: :500:");
 		policyParameters.setConfigBody(null);
 		try{
 			result = policyEngine.createPolicy(policyParameters);
@@ -218,7 +218,7 @@
 	
 	@Test
 	public final void testUpdatePolicyNullPolicyName() {
-		response.setResponseMessage("PE300 - Data Issue: No Policy Name given.");
+		response.setResponseMessage("PE500 - Process Flow Issue: :500:");
 		policyParameters.setPolicyName(null);
 		try{
 			result = policyEngine.updatePolicy(policyParameters);
@@ -230,7 +230,7 @@
 	
 	@Test
 	public final void testUpdatePolicyNullPolicyScope() {
-		response.setResponseMessage("PE300 - Data Issue: No Policy Scope given.");
+		response.setResponseMessage("PE500 - Process Flow Issue: :500:");
 		policyParameters.setPolicyName("test");
 		try{
 			result = policyEngine.updatePolicy(policyParameters);
@@ -242,7 +242,7 @@
 
 	@Test
 	public final void testUpdatePolicyNullPolicyConfigBody() {
-		response.setResponseMessage("PE300 - Data Issue: No Config Body given.");
+		response.setResponseMessage("PE500 - Process Flow Issue: :500:");
 		policyParameters.setConfigBody(null);
 		try{
 			result = policyEngine.createPolicy(policyParameters);
diff --git a/PolicyEngineAPI/src/test/java/org/openecomp/policy/test/DecisionPolicyApiTest.java b/PolicyEngineAPI/src/test/java/org/openecomp/policy/test/DecisionPolicyApiTest.java
index 4e42c15..82ba1c7 100644
--- a/PolicyEngineAPI/src/test/java/org/openecomp/policy/test/DecisionPolicyApiTest.java
+++ b/PolicyEngineAPI/src/test/java/org/openecomp/policy/test/DecisionPolicyApiTest.java
@@ -147,7 +147,7 @@
 	
 	@Test
 	public final void testCreatePolicyNullPolicyName() {
-		response.setResponseMessage("PE300 - Data Issue: No Policy Name given.");
+		response.setResponseMessage("PE500 - Process Flow Issue: :500:");
 		policyParameters.setPolicyName(null);
 		try{
 			result = policyEngine.createPolicy(policyParameters);
@@ -159,7 +159,7 @@
 	
 	@Test
 	public final void testCreatePolicyNullPolicyScope() {
-		response.setResponseMessage("PE300 - Data Issue: No Policy Scope given.");
+		response.setResponseMessage("PE500 - Process Flow Issue: :500:");
 		policyParameters.setPolicyName("test");
 		try{
 			result = policyEngine.createPolicy(policyParameters);
@@ -171,7 +171,7 @@
 	
 	@Test
 	public final void testCreatePolicyNullEcompName() {
-		response.setResponseMessage("PE300 - Data Issue: No ECOMP Name given.");
+		response.setResponseMessage("PE500 - Process Flow Issue: :500:");
 		policyParameters.setEcompName(null);
 		try{
 			result = policyEngine.createPolicy(policyParameters);
@@ -183,7 +183,7 @@
 	
 	@Test
 	public final void testUpdatePolicyNullPolicyName() {
-		response.setResponseMessage("PE300 - Data Issue: No Policy Name given.");
+		response.setResponseMessage("PE500 - Process Flow Issue: :500:");
 		policyParameters.setPolicyName(null);
 		try{
 			result = policyEngine.updatePolicy(policyParameters);
@@ -195,7 +195,7 @@
 	
 	@Test
 	public final void testUpdatePolicyNullPolicyScope() {
-		response.setResponseMessage("PE300 - Data Issue: No Policy Scope given.");
+		response.setResponseMessage("PE500 - Process Flow Issue: :500:");
 		policyParameters.setPolicyName("test");
 		try{
 			result = policyEngine.updatePolicy(policyParameters);
@@ -207,7 +207,7 @@
 	
 	@Test
 	public final void testUpdatePolicyNullEcompName() {
-		response.setResponseMessage("PE300 - Data Issue: No ECOMP Name given.");
+		response.setResponseMessage("PE500 - Process Flow Issue: :500:");
 		policyParameters.setEcompName(null);
 		try{
 			result = policyEngine.updatePolicy(policyParameters);
diff --git a/PolicyEngineAPI/src/test/java/org/openecomp/policy/test/PolicyEngineInterfaceTest.java b/PolicyEngineAPI/src/test/java/org/openecomp/policy/test/PolicyEngineInterfaceTest.java
index 4fa2276..fd5f65f 100644
--- a/PolicyEngineAPI/src/test/java/org/openecomp/policy/test/PolicyEngineInterfaceTest.java
+++ b/PolicyEngineAPI/src/test/java/org/openecomp/policy/test/PolicyEngineInterfaceTest.java
@@ -254,7 +254,7 @@
 			Mockito.when(mockPolicyEngine.sendEvent(eventAttributes)).thenReturn(result);
 			result = mockPolicyEngine.sendEvent(eventAttributes);
 		} catch (PolicyEventException e) {
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 		}
 		
 		
@@ -273,7 +273,7 @@
 			Mockito.when(mockPolicyEngine.sendEvent(eventAttributes,requestID)).thenReturn(result);
 			result = mockPolicyEngine.sendEvent(eventAttributes,requestID);
 		} catch (PolicyEventException e) {
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 		}
 		
 		
@@ -291,7 +291,7 @@
 			Mockito.when(mockPolicyEngine.sendEvent(parameters)).thenReturn(result);
 			result = mockPolicyEngine.sendEvent(parameters);
 		} catch (PolicyEventException e) {
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 		}
 		
 		assertEquals(result,response);
@@ -316,7 +316,7 @@
 			Mockito.when(mockPolicyEngine.getDecision(eCOMPComponentName,decisionAttributes)).thenReturn(null);
 			result = mockPolicyEngine.getDecision(eCOMPComponentName,decisionAttributes);
 		} catch (PolicyDecisionException e) {
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 		}
 		
 		assertEquals(result,null);
@@ -334,7 +334,7 @@
 			Mockito.when(mockPolicyEngine.getDecision(eCOMPComponentName,decisionAttributes,requestID)).thenReturn(null);
 			result = mockPolicyEngine.getDecision(eCOMPComponentName,decisionAttributes);
 		} catch (PolicyDecisionException e) {
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 		}
 		
 		assertEquals(result,null);
@@ -349,7 +349,7 @@
 			Mockito.when(mockPolicyEngine.getDecision(parameters)).thenReturn(null);
 			result = mockPolicyEngine.getDecision(parameters);
 		} catch (PolicyDecisionException e) {
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 		}
 		
 		assertEquals(result,null);
@@ -519,7 +519,7 @@
 			
 		} catch (Exception e) {
 			logger.warn(e.getMessage());
-			e.printStackTrace();
+			logger.error("Exception Occured"+e);
 		}
 		assertEquals(result, response);
 	}
diff --git a/PolicyEngineClient/src/main/java/org/openecomp/policyEngine/GeneralTestClient.java b/PolicyEngineClient/src/main/java/org/openecomp/policyEngine/GeneralTestClient.java
index c78fc6f..6ca340e 100644
--- a/PolicyEngineClient/src/main/java/org/openecomp/policyEngine/GeneralTestClient.java
+++ b/PolicyEngineClient/src/main/java/org/openecomp/policyEngine/GeneralTestClient.java
@@ -47,6 +47,8 @@
 import org.json.simple.parser.JSONParser;
 import org.openecomp.policy.api.PolicyEngine;
 import org.openecomp.policy.api.PolicyEngineException;
+import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
+import org.openecomp.policy.common.logging.flexlogger.Logger;
 
 /**
  * Class reads from .testCases file and run the test cases available in the file
@@ -58,6 +60,9 @@
  *
  */
 public class GeneralTestClient {
+	
+	private static final Logger LOGGER	= FlexLogger.getLogger(GeneralTestClient.class);
+	
 	static int totalTC = 0, passTC = 0, failTC = 0;
 
 	public static void main(String[] args) {
@@ -275,29 +280,26 @@
 
 						}
 					} catch (PolicyEngineException e) {
-						// TODO Auto-generated catch block
 						printResult(id, testFor, testCaseDescription, "FAILED");
 						failTCforFile++;
 						failTC++;
-						e.printStackTrace();
+						LOGGER.error("Exception Occured"+e);
 					} catch (Exception e) {
-						// TODO Auto-generated catch block
 						printResult(id, testFor, testCaseDescription, "FAILED");
 						failTCforFile++;
 						failTC++;
-						e.printStackTrace();
+						LOGGER.error("Exception Occured"+e);
 					}
 				}
 
 			} catch (FileNotFoundException ex) {
-				ex.printStackTrace();
+				LOGGER.error("Exception Occured due to File not found"+ex);
 			} catch (IOException ex) {
-				ex.printStackTrace();
+				LOGGER.error("Exception Occured"+ex);
 			} catch (NullPointerException ex) {
-				ex.printStackTrace();
+				LOGGER.error("Exception Occured due to Null Pointer"+ex);
 			} catch (org.json.simple.parser.ParseException e) {
-				// TODO Auto-generated catch block
-				e.printStackTrace();
+				LOGGER.error("Exception Occured while Parsing"+e);
 			}
 		}
 		System.out.println("\n\n\t Summary for the file: TOTAL: "
diff --git a/PolicyEngineClient/src/main/java/org/openecomp/policyEngine/Handler.java b/PolicyEngineClient/src/main/java/org/openecomp/policyEngine/Handler.java
index cc54e77..ea11f9d 100644
--- a/PolicyEngineClient/src/main/java/org/openecomp/policyEngine/Handler.java
+++ b/PolicyEngineClient/src/main/java/org/openecomp/policyEngine/Handler.java
@@ -32,9 +32,13 @@
 import org.openecomp.policy.api.PolicyEngine;
 import org.openecomp.policy.api.PolicyEngineException;
 import org.openecomp.policy.api.RemovedPolicy;
+import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
+import org.openecomp.policy.common.logging.flexlogger.Logger;
 
 public class Handler implements NotificationHandler{
 
+	private static final Logger LOGGER	= FlexLogger.getLogger(Handler.class);
+	
 	@Override
 	public void notificationReceived(PDPNotification notification) {
 		System.out.println("Notification Received...");
@@ -72,9 +76,9 @@
 							}
 						}
 					} catch (PolicyEngineException e) {
-						e.printStackTrace();
+						LOGGER.error("Exception Occured"+e);
 					} catch (PolicyConfigException e) {
-						e.printStackTrace();
+						LOGGER.error("Exception Occured"+e);
 					}
 				}
 			}
@@ -110,9 +114,9 @@
 						}
 					}
 				} catch (PolicyEngineException e) {
-					e.printStackTrace();
+					LOGGER.error("Exception Occured"+e);
 				} catch (PolicyConfigException e) {
-					e.printStackTrace();
+					LOGGER.error("Exception Occured"+e);
 				}
 			}
 		}
diff --git a/PolicyEngineClient/src/main/java/org/openecomp/policyEngine/ListConfigPoliciesClient.java b/PolicyEngineClient/src/main/java/org/openecomp/policyEngine/ListConfigPoliciesClient.java
index 11f4b03..b9fd152 100644
--- a/PolicyEngineClient/src/main/java/org/openecomp/policyEngine/ListConfigPoliciesClient.java
+++ b/PolicyEngineClient/src/main/java/org/openecomp/policyEngine/ListConfigPoliciesClient.java
@@ -29,8 +29,13 @@
 import org.openecomp.policy.api.PolicyConfigException;
 import org.openecomp.policy.api.PolicyEngine;
 import org.openecomp.policy.api.PolicyEngineException;
+import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
+import org.openecomp.policy.common.logging.flexlogger.Logger;
 
 public class ListConfigPoliciesClient {
+	
+	private static final Logger LOGGER	= FlexLogger.getLogger(ListConfigPoliciesClient.class);
+	
 	public static void main(String[] args) {
 		PolicyEngine policyEngine;
 
@@ -62,10 +67,9 @@
 	        }
 
 		} catch (PolicyConfigException e) {
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 		} catch (PolicyEngineException e) {
-			// TODO Auto-generated catch block
-			e.printStackTrace();
+			LOGGER.error("Exception Occured"+e);
 		}
 	}
 	
diff --git a/PolicyEngineClient/src/main/java/org/openecomp/policyEngine/MainClient.java b/PolicyEngineClient/src/main/java/org/openecomp/policyEngine/MainClient.java
index eb3c3b9..eb61970 100644
--- a/PolicyEngineClient/src/main/java/org/openecomp/policyEngine/MainClient.java
+++ b/PolicyEngineClient/src/main/java/org/openecomp/policyEngine/MainClient.java
@@ -41,9 +41,14 @@
 import org.openecomp.policy.api.PolicyEngine;
 import org.openecomp.policy.api.PolicyEngineException;
 import org.openecomp.policy.api.RemovedPolicy;
+import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
+import org.openecomp.policy.common.logging.flexlogger.Logger;
 import org.w3c.dom.Document;
 
 public class MainClient {
+	
+	private static final Logger LOGGER	= FlexLogger.getLogger(MainClient.class);
+	
 	public static void main(String[] args) {
 		PolicyEngine policyEngine;
 		try {
@@ -72,7 +77,7 @@
 					}
 				}
 			} catch (PolicyConfigException e) {
-				e.printStackTrace();
+				LOGGER.error("Exception Occured"+e);
 			}
 			
 			// Manual Notifications.. 
diff --git a/PolicyEngineClient/src/main/java/org/openecomp/policyEngine/PolicyEngineTestClient.java b/PolicyEngineClient/src/main/java/org/openecomp/policyEngine/PolicyEngineTestClient.java
index 16468e0..ecdb166 100644
--- a/PolicyEngineClient/src/main/java/org/openecomp/policyEngine/PolicyEngineTestClient.java
+++ b/PolicyEngineClient/src/main/java/org/openecomp/policyEngine/PolicyEngineTestClient.java
@@ -97,7 +97,7 @@
 				}
 			}
 		} catch (PolicyConfigException e) {
-//			e.printStackTrace();
+//			logger.error("Exception Occured"+e);
 			resultReceived.add(""+e);
 		}
 		return resultReceived;
@@ -123,7 +123,7 @@
 					eCOMPComponentName, decisionAttributes, requestID);
 			resultReceived.add(policyDecision.getDecision().toString());
 		} catch (PolicyDecisionException e) {
-//			e.printStackTrace();
+//			logger.error("Exception Occured"+e);
 			resultReceived.add(""+e);
 		}
 		return resultReceived;
@@ -154,7 +154,7 @@
 				}
 			}
 		} catch (PolicyEventException e) {
-//			e.printStackTrace();
+//			logger.error("Exception Occured"+e);
 			resultReceived.add(""+e);
 		}
 		return resultReceived;
diff --git a/packages/base/src/files/install/mysql/data/170701_downgrade_script.sql b/packages/base/src/files/install/mysql/data/170701_downgrade_script.sql
new file mode 100644
index 0000000..657abad
--- /dev/null
+++ b/packages/base/src/files/install/mysql/data/170701_downgrade_script.sql
@@ -0,0 +1,21 @@
+/*-
+* ============LICENSE_START=======================================================
+* ECOMP Policy Engine
+* ================================================================================
+* Copyright (C) 2017 AT&T Intellectual Property. 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.
+* You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+* ============LICENSE_END=========================================================
+*/
+use ecomp_sdk;
+ALTER TABLE fwtagpicker drop networkRole;
\ No newline at end of file
diff --git a/packages/base/src/files/install/mysql/data/170701_upgrade_script.sql b/packages/base/src/files/install/mysql/data/170701_upgrade_script.sql
new file mode 100644
index 0000000..c8e19f8
--- /dev/null
+++ b/packages/base/src/files/install/mysql/data/170701_upgrade_script.sql
@@ -0,0 +1,21 @@
+/*-
+* ============LICENSE_START=======================================================
+* ECOMP Policy Engine
+* ================================================================================
+* Copyright (C) 2017 AT&T Intellectual Property. 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.
+* You may obtain a copy of the License at
+*
+*      http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+* ============LICENSE_END=========================================================
+*/
+use ecomp_sdk;
+ALTER TABLE fwtagpicker add networkRole varchar(64);
\ No newline at end of file
diff --git a/packages/base/src/files/install/servers/brmsgw/dependency.json b/packages/base/src/files/install/servers/brmsgw/dependency.json
index e766f14..52e771b 100644
--- a/packages/base/src/files/install/servers/brmsgw/dependency.json
+++ b/packages/base/src/files/install/servers/brmsgw/dependency.json
@@ -3,31 +3,31 @@
 		"default": [{
 			"groupId": "org.openecomp.policy.drools-applications",
 			"artifactId": "demo",
-			"version": "1.1.0-SNAPSHOT"
+			"version": "${{BRMS_DEPENDENCY_VERSION}}"
 		}, {
 			"groupId": "org.openecomp.policy.drools-applications",
 			"artifactId": "controlloop",
-			"version": "1.1.0-SNAPSHOT"
+			"version": "${{BRMS_DEPENDENCY_VERSION}}"
 		}, {
 			"groupId": "org.openecomp.policy.drools-applications",
 			"artifactId": "rest",
-			"version": "1.1.0-SNAPSHOT"
+			"version": "${{BRMS_DEPENDENCY_VERSION}}"
 		}, {
 			"groupId": "org.openecomp.policy.drools-applications",
 			"artifactId": "appc",
-			"version": "1.1.0-SNAPSHOT"
+			"version": "${{BRMS_DEPENDENCY_VERSION}}"
 		}, {
 			"groupId": "org.openecomp.policy.drools-applications",
 			"artifactId": "aai",
-			"version": "1.1.0-SNAPSHOT"
+			"version": "${{BRMS_DEPENDENCY_VERSION}}"
 		}, {
 			"groupId": "org.openecomp.policy.drools-applications",
 			"artifactId": "mso",
-			"version": "1.1.0-SNAPSHOT"
+			"version": "${{BRMS_DEPENDENCY_VERSION}}"
 		}, {
 			"groupId": "org.openecomp.policy.drools-applications",
 			"artifactId": "trafficgenerator",
-			"version": "1.1.0-SNAPSHOT"
+			"version": "${{BRMS_DEPENDENCY_VERSION}}"
 		}]
 	}
 }
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 59c8fff..ecebaf5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -150,9 +150,6 @@
 				<groupId>org.apache.maven.plugins</groupId>
 				<artifactId>maven-surefire-plugin</artifactId>
 				<version>2.19.1</version>
-				<configuration>
-					<skipTests>true</skipTests>
-				</configuration>
 			</plugin>
 			<plugin>
 				<groupId>org.apache.maven.plugins</groupId>