Refactor to provide Common Policy Validation
[policy/engine.git] / POLICY-SDK-APP / src / main / java / org / onap / policy / daoImp / CommonClassDaoImpl.java
index 336c42c..81db14c 100644 (file)
@@ -27,6 +27,7 @@ import java.util.Map;
 import javax.script.SimpleBindings;
 
 import org.hibernate.Criteria;
+import org.hibernate.HibernateException;
 import org.hibernate.Query;
 import org.hibernate.Session;
 import org.hibernate.SessionFactory;
@@ -41,9 +42,12 @@ import org.onap.policy.rest.dao.CommonClassDao;
 import org.onap.policy.rest.jpa.PolicyRoles;
 import org.onap.policy.xacml.api.XACMLErrorConstants;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Primary;
+import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Service;
 
 @Service("CommonClassDao")
+@Primary
 public class CommonClassDaoImpl implements CommonClassDao{
 
        private static final Logger LOGGER = FlexLogger.getLogger(CommonClassDaoImpl.class);
@@ -267,7 +271,12 @@ public class CommonClassDaoImpl implements CommonClassDao{
                try {
                        Query hbquery = session.createQuery(query);
                        for (Map.Entry<String, Object> paramPair : params.entrySet()) {
-                               hbquery.setParameter(paramPair.getKey(), paramPair.getValue());
+                               if(paramPair.getValue() instanceof java.lang.Long){
+                                       hbquery.setLong(paramPair.getKey(), (long) paramPair.getValue());
+                               }
+                               else{
+                                       hbquery.setParameter(paramPair.getKey(), paramPair.getValue());
+                               }
                        }
                        data = hbquery.list();
                        tx.commit();
@@ -277,9 +286,8 @@ public class CommonClassDaoImpl implements CommonClassDao{
                }finally{
                        try{
                                session.close();
-                       }catch(Exception e1){
+                       }catch(HibernateException e1){
                                LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
-                               throw e1;
                        }
                }
                return data;