Consolidate PolicyRestAdapter setup
[policy/engine.git] / ONAP-PAP-REST / src / main / java / org / onap / policy / pap / xacml / rest / daoimpl / CommonClassDaoImpl.java
index e5b6915..ee5c22f 100644 (file)
@@ -2,14 +2,14 @@
  * ============LICENSE_START=======================================================
  * ONAP-PAP-REST
  * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017,2019 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.
@@ -49,89 +49,86 @@ import org.springframework.stereotype.Service;
 
 @Service("CommonClassDao")
 @Primary
-public class CommonClassDaoImpl implements CommonClassDao{
+public class CommonClassDaoImpl implements CommonClassDao {
 
     private static final Log LOGGER = LogFactory.getLog(CommonClassDaoImpl.class);
 
-
     private static SessionFactory sessionFactory;
 
-
     @Autowired
-    private CommonClassDaoImpl(SessionFactory sessionFactory){
+    private CommonClassDaoImpl(SessionFactory sessionFactory) {
         CommonClassDaoImpl.sessionFactory = sessionFactory;
     }
 
-    public CommonClassDaoImpl(){
-        //Default Constructor
+    public CommonClassDaoImpl() {
+        // Default Constructor
     }
 
-    @SuppressWarnings({ "unchecked", "rawtypes" })
+    @SuppressWarnings({"unchecked", "rawtypes"})
     @Override
     public List<Object> getData(Class className) {
         Session session = sessionFactory.openSession();
         List<Object> data = null;
-        try{
+        try {
             Criteria cr = session.createCriteria(className);
             data = cr.list();
-        }catch(Exception e){
-            LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying Table"+e);
-        }finally{
-            try{
+        } catch (Exception e) {
+            LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying Table" + e);
+        } finally {
+            try {
                 session.close();
-            }catch(Exception e){
-                LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e);
+            } catch (Exception e) {
+                LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement" + e);
             }
         }
         return data;
     }
 
-
-    @SuppressWarnings({ "rawtypes", "unchecked" })
+    @SuppressWarnings({"rawtypes", "unchecked"})
     @Override
     public List<Object> getDataById(Class className, String columnName, String key) {
         Session session = sessionFactory.openSession();
         List<Object> data = null;
         try {
             Criteria cr = session.createCriteria(className);
-            if(columnName.contains(":") && key.contains(":")){
+            if (columnName.contains(":") && key.contains(":")) {
                 String[] columns = columnName.split(":");
                 String[] keys = key.split(":");
-                for(int i=0; i < columns.length; i++){
+                for (int i = 0; i < columns.length; i++) {
                     cr.add(Restrictions.eq(columns[i], keys[i]));
                 }
-            }else{
+            } else {
                 cr.add(Restrictions.eq(columnName, key));
             }
             data = cr.list();
         } catch (Exception e) {
-            LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying Table"+e);
-        }finally{
-            try{
+            LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying Table" + e);
+        } finally {
+            try {
                 session.close();
-            }catch(Exception e1){
-                LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
+            } catch (Exception e1) {
+                LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement" + e1);
             }
         }
         return data;
     }
 
-    @SuppressWarnings({ "unchecked", "rawtypes" })
+    @SuppressWarnings({"unchecked", "rawtypes"})
     @Override
     public List<String> getDataByColumn(Class className, String columnName) {
         Session session = sessionFactory.openSession();
         List<String> data = null;
-        try{
+        try {
             Criteria cr = session.createCriteria(className);
             cr.setProjection(Projections.property(columnName));
             data = cr.list();
-        }catch(Exception e){
-            LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying Table"+e);
-        }finally{
-            try{
+        } catch (Exception e) {
+            LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying Table" + e);
+        } finally {
+            try {
                 session.close();
-            }catch(Exception e){
-                LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e);
+            } catch (Exception e) {
+                LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement" + e);
             }
         }
         return data;
@@ -144,13 +141,13 @@ public class CommonClassDaoImpl implements CommonClassDao{
         try {
             session.persist(entity);
             tx.commit();
-        }catch(Exception e){
-            LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Saving  data to Table"+e);
-        }finally{
-            try{
+        } catch (Exception e) {
+            LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Saving  data to Table" + e);
+        } finally {
+            try {
                 session.close();
-            }catch(Exception e1){
-                LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
+            } catch (Exception e1) {
+                LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement" + e1);
             }
         }
 
@@ -163,19 +160,18 @@ public class CommonClassDaoImpl implements CommonClassDao{
         try {
             session.delete(entity);
             tx.commit();
-        }catch(Exception e){
-            LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Deleting data from Table"+e);
-        }finally{
-            try{
+        } catch (Exception e) {
+            LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Deleting data from Table" + e);
+        } finally {
+            try {
                 session.close();
-            }catch(Exception e1){
-                LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
+            } catch (Exception e1) {
+                LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement" + e1);
             }
         }
 
     }
 
-
     @Override
     public void update(Object entity) {
         Session session = sessionFactory.openSession();
@@ -183,20 +179,19 @@ public class CommonClassDaoImpl implements CommonClassDao{
         try {
             session.update(entity);
             tx.commit();
-        }catch(Exception e){
-            LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Updating data to Table"+e);
-        }finally{
-            try{
+        } catch (Exception e) {
+            LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Updating data to Table" + e);
+        } finally {
+            try {
                 session.close();
-            }catch(Exception e1){
-                LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
+            } catch (Exception e1) {
+                LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement" + e1);
             }
         }
 
     }
 
-
-    @SuppressWarnings({ "unchecked", "rawtypes" })
+    @SuppressWarnings({"unchecked", "rawtypes"})
     @Override
     public List<Object> checkDuplicateEntry(String value, String columnName, Class className) {
         Session session = sessionFactory.openSession();
@@ -204,38 +199,38 @@ public class CommonClassDaoImpl implements CommonClassDao{
         List<Object> data = null;
 
         String[] columnNames = null;
-        if(columnName != null && columnName.contains(":")){
+        if (columnName != null && columnName.contains(":")) {
             columnNames = columnName.split(":");
         }
         String[] values = null;
-        if(value != null && value.contains(":")){
+        if (value != null && value.contains(":")) {
             values = value.split(":");
         }
         try {
             Criteria cr = session.createCriteria(className);
-            if(columnNames != null && values != null && columnNames.length == values.length){
-                for (int i = 0; i < columnNames.length; i++){
-                    cr.add(Restrictions.eq(columnNames[i],values[i]));
+            if (columnNames != null && values != null && columnNames.length == values.length) {
+                for (int i = 0; i < columnNames.length; i++) {
+                    cr.add(Restrictions.eq(columnNames[i], values[i]));
                 }
-            }else{
-                cr.add(Restrictions.eq(columnName,value));
+            } else {
+                cr.add(Restrictions.eq(columnName, value));
             }
 
             data = cr.list();
             tx.commit();
         } catch (Exception e) {
-            LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying for Duplicate Entries for Table"+e + className);
-        }finally{
-            try{
+            LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying for Duplicate Entries for Table"
+                    + e + className);
+        } finally {
+            try {
                 session.close();
-            }catch(Exception e1){
-                LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
+            } catch (Exception e1) {
+                LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement" + e1);
             }
         }
         return data;
     }
 
-
     @SuppressWarnings("unchecked")
     @Override
     public List<Object> getDataByQuery(String query, SimpleBindings params) {
@@ -245,29 +240,27 @@ public class CommonClassDaoImpl implements CommonClassDao{
         try {
             Query hbquery = session.createQuery(query);
             for (Map.Entry<String, Object> paramPair : params.entrySet()) {
-                if(paramPair.getValue() instanceof java.lang.Long){
+                if (paramPair.getValue() instanceof java.lang.Long) {
                     hbquery.setLong(paramPair.getKey(), (long) paramPair.getValue());
-                }
-                else{
+                } else {
                     hbquery.setParameter(paramPair.getKey(), paramPair.getValue());
                 }
             }
             data = hbquery.list();
             tx.commit();
         } catch (Exception e) {
-            LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying Database Table"+e);
+            LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying Database Table" + e);
             throw e;
-        }finally{
-            try{
+        } finally {
+            try {
                 session.close();
-            }catch(HibernateException e1){
-                LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement",e1);
+            } catch (HibernateException e1) {
+                LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement", e1);
             }
         }
         return data;
     }
 
-
     @Override
     public void updateQuery(String query) {
         Session session = sessionFactory.openSession();
@@ -277,17 +270,16 @@ public class CommonClassDaoImpl implements CommonClassDao{
             hbquery.executeUpdate();
             tx.commit();
         } catch (Exception e) {
-            LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Updating Database Table"+e);
-        }finally{
-            try{
+            LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Updating Database Table" + e);
+        } finally {
+            try {
                 session.close();
-            }catch(Exception e1){
-                LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
+            } catch (Exception e1) {
+                LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement" + e1);
             }
         }
     }
 
-
     @SuppressWarnings("rawtypes")
     @Override
     public Object getEntityItem(Class className, String columnName, String key) {
@@ -296,30 +288,29 @@ public class CommonClassDaoImpl implements CommonClassDao{
         Object data = null;
         try {
             Criteria cr = session.createCriteria(className);
-            if(columnName.contains(":") && key.contains(":")){
+            if (columnName.contains(":") && key.contains(":")) {
                 String[] columns = columnName.split(":");
                 String[] keys = key.split(":");
-                for(int i=0; i < columns.length; i++){
+                for (int i = 0; i < columns.length; i++) {
                     cr.add(Restrictions.eq(columns[i], keys[i]));
                 }
-            }else{
+            } else {
                 cr.add(Restrictions.eq(columnName, key));
             }
             data = cr.list().get(0);
             tx.commit();
         } catch (Exception e) {
-            LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying Database Table"+e);
-        }finally{
-            try{
+            LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying Database Table" + e);
+        } finally {
+            try {
                 session.close();
-            }catch(Exception e1){
-                LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
+            } catch (Exception e1) {
+                LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement" + e1);
             }
         }
         return data;
     }
 
-
     @SuppressWarnings("unchecked")
     @Override
     public List<PolicyRoles> getUserRoles() {
@@ -329,11 +320,11 @@ public class CommonClassDaoImpl implements CommonClassDao{
         try {
             Criteria cr = session.createCriteria(PolicyRoles.class);
             Disjunction disjunction = Restrictions.disjunction();
-            Conjunction conjunction1  = Restrictions.conjunction();
+            Conjunction conjunction1 = Restrictions.conjunction();
             conjunction1.add(Restrictions.eq("role", "admin"));
-            Conjunction conjunction2  = Restrictions.conjunction();
+            Conjunction conjunction2 = Restrictions.conjunction();
             conjunction2.add(Restrictions.eq("role", "editor"));
-            Conjunction conjunction3  = Restrictions.conjunction();
+            Conjunction conjunction3 = Restrictions.conjunction();
             conjunction3.add(Restrictions.eq("role", "guest"));
             disjunction.add(conjunction1);
             disjunction.add(conjunction2);
@@ -341,18 +332,17 @@ public class CommonClassDaoImpl implements CommonClassDao{
             rolesData = cr.add(disjunction).list();
             tx.commit();
         } catch (Exception e) {
-            LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying PolicyRoles Table"+e);
-        }finally{
-            try{
+            LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying PolicyRoles Table" + e);
+        } finally {
+            try {
                 session.close();
-            }catch(Exception e1){
-                LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
+            } catch (Exception e1) {
+                LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement" + e1);
             }
         }
         return rolesData;
     }
 
-
     @SuppressWarnings("unchecked")
     @Override
     public void updateClAlarms(String clName, String alarms) {
@@ -361,20 +351,19 @@ public class CommonClassDaoImpl implements CommonClassDao{
         Transaction tx = session.beginTransaction();
         try {
             Criteria cr = session.createCriteria(ClosedLoops.class);
-            cr.add(Restrictions.eq("closedLoopControlName",clName));
+            cr.add(Restrictions.eq("closedLoopControlName", clName));
             closedloopsdata = cr.list();
             ClosedLoops closedloop = closedloopsdata.get(0);
             closedloop.setAlarmConditions(alarms);
             session.update(closedloop);
             tx.commit();
-        }catch(Exception e){
-            LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Updating ClosedLoops Table"+e);
-        }finally{
+        } catch (Exception e) {
+            LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Updating ClosedLoops Table" + e);
+        } finally {
             session.close();
         }
     }
 
-
     @SuppressWarnings("unchecked")
     @Override
     public void updateClYaml(String clName, String yaml) {
@@ -383,20 +372,19 @@ public class CommonClassDaoImpl implements CommonClassDao{
         Transaction tx = session.beginTransaction();
         try {
             Criteria cr = session.createCriteria(ClosedLoops.class);
-            cr.add(Restrictions.eq("closedLoopControlName",clName));
+            cr.add(Restrictions.eq("closedLoopControlName", clName));
             closedloopsdata = cr.list();
             ClosedLoops closedloop = closedloopsdata.get(0);
             closedloop.setYaml(yaml);
             session.update(closedloop);
             tx.commit();
-        }catch(Exception e){
-            LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Updating ClosedLoops Table"+e);
-        }finally{
+        } catch (Exception e) {
+            LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Updating ClosedLoops Table" + e);
+        } finally {
             session.close();
         }
     }
 
-
     @SuppressWarnings("unchecked")
     @Override
     public void deleteAll() {
@@ -407,9 +395,10 @@ public class CommonClassDaoImpl implements CommonClassDao{
             Criteria cr = session.createCriteria(ClosedLoops.class);
             closedloopsdata = cr.list();
 
-            if(closedloopsdata!=null && !closedloopsdata.isEmpty()) {
-                LOGGER.info("ClosedLoops exist in the database, we need to delete them in our first step to buildCache().");
-                for(int i=0; i < closedloopsdata.size(); i++) {
+            if (closedloopsdata != null && !closedloopsdata.isEmpty()) {
+                LOGGER.info(
+                        "ClosedLoops exist in the database, we need to delete them in our first step to buildCache().");
+                for (int i = 0; i < closedloopsdata.size(); i++) {
                     ClosedLoops cl = closedloopsdata.get(i);
                     session.delete(cl);
                 }
@@ -418,14 +407,15 @@ public class CommonClassDaoImpl implements CommonClassDao{
             }
 
             tx.commit();
-        }catch(Exception e) {
-            LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error while deleting ClosedLoops from the table"+e);
-        }finally{
+        } catch (Exception e) {
+            LOGGER.error(
+                    XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error while deleting ClosedLoops from the table" + e);
+        } finally {
             session.close();
         }
     }
 
-    @SuppressWarnings({ "unchecked"})
+    @SuppressWarnings({"unchecked"})
     @Override
     public List<Object> checkExistingGroupListforUpdate(String groupListValue, String groupNameValue) {
         Session session = sessionFactory.openSession();
@@ -433,26 +423,27 @@ public class CommonClassDaoImpl implements CommonClassDao{
         List<Object> data = null;
         try {
             Criteria cr = session.createCriteria(GroupPolicyScopeList.class);
-            cr.add(Restrictions.eq("groupList",groupListValue));
+            cr.add(Restrictions.eq("groupList", groupListValue));
             Criterion expression = Restrictions.eq("name", groupNameValue);
             cr.add(Restrictions.not(expression));
             data = cr.list();
             tx.commit();
         } catch (Exception e) {
-            LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying for Duplicate Entries for GroupPolicyScopeList Table"+e);
-        }finally{
-            try{
+            LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW
+                    + "Error While Querying for Duplicate Entries for GroupPolicyScopeList Table" + e);
+        } finally {
+            try {
                 session.close();
-            }catch(Exception e1){
-                LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
+            } catch (Exception e1) {
+                LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement" + e1);
             }
         }
         return data;
     }
 
-
     @Override
-    public List<Object> getMultipleDataOnAddingConjunction(@SuppressWarnings("rawtypes") Class className, String columnName, List<String> data) {
+    public List<Object> getMultipleDataOnAddingConjunction(@SuppressWarnings("rawtypes") Class className,
+            String columnName, List<String> data) {
         return null;
     }
 
@@ -460,4 +451,4 @@ public class CommonClassDaoImpl implements CommonClassDao{
         sessionFactory = sessionfactory;
     }
 
-}
\ No newline at end of file
+}