Initial OpenECOMP policy/engine commit
[policy/engine.git] / ecomp-sdk-app / src / main / java / org / openecomp / policy / daoImp / GroupEntityDaoImpl.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ECOMP Policy Engine
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.openecomp.policy.daoImp;
22
23
24 import java.util.List;
25
26 import org.hibernate.Criteria;
27 import org.hibernate.Session;
28 import org.hibernate.SessionFactory;
29 import org.hibernate.Transaction;
30 import org.openecomp.policy.dao.GroupEntityDao;
31 import org.openecomp.policy.rest.jpa.GroupEntity;
32 import org.springframework.beans.factory.annotation.Autowired;
33 import org.springframework.stereotype.Service;
34
35 import org.openecomp.policy.xacml.api.XACMLErrorConstants;
36
37 import org.openecomp.policy.common.logging.flexlogger.FlexLogger;
38 import org.openecomp.policy.common.logging.flexlogger.Logger;
39
40 @Service("PDPGroupDataDao")
41 public class GroupEntityDaoImpl implements GroupEntityDao{
42         private static final Logger logger = FlexLogger.getLogger(GroupEntityDaoImpl.class);
43         @Autowired
44         SessionFactory sessionfactory;
45         
46         @SuppressWarnings("unchecked")
47         @Override
48         public List<GroupEntity> getGroupEntityData() {
49                 Session session = sessionfactory.openSession();
50                 Transaction tx = session.beginTransaction();
51                 Criteria cr = session.createCriteria(GroupEntity.class);
52         List<GroupEntity> groupData = null;
53         try {
54                  groupData = cr.list();
55                         tx.commit();
56                 } catch (Exception e) {
57                         logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying GroupEntity Table"+e);      
58                 }finally{
59                         try{
60                                 session.close();
61                         }catch(Exception e1){
62                                 logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
63                         }
64                 }
65                 return groupData;
66         }
67
68         @Override
69         public GroupEntity getPDPGroupEntity(String getgroupName) {
70                 Session session = sessionfactory.openSession();
71                 Transaction tx = session.beginTransaction();
72                 GroupEntity entity = null;
73                 try {
74                         entity = (GroupEntity) session.get(GroupEntity.class, getgroupName);
75                         tx.commit();
76                 } catch (Exception e) {
77                         logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying GroupEntity Table"+e);      
78                 }finally{
79                         try{
80                                 session.close();
81                         }catch(Exception e1){
82                                 logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
83                         }
84                 }
85                 return entity;
86         }
87
88         @Override
89         public void savePDPGroupEntity(GroupEntity pdpGroupDataFunction) {
90                 Session session = sessionfactory.openSession();
91                 Transaction tx = session.beginTransaction();
92                 try {
93                         session.persist(pdpGroupDataFunction);
94                         tx.commit();    
95                 }catch(Exception e){
96                         logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Saving GroupEntity Table"+e);        
97                 }finally{
98                         try{
99                                 session.close();
100                         }catch(Exception e1){
101                                 logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
102                         }
103                 }
104         }
105
106         @Override
107         public void deletePDPGroupEntity(GroupEntity pdpGroupDataFunction) {
108                 Session session = sessionfactory.openSession();
109                 Transaction tx = session.beginTransaction();
110                 try {
111                         session.delete(pdpGroupDataFunction);
112                         tx.commit();    
113                 }catch(Exception e){
114                         logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Deleting GroupEntity Table"+e);      
115                 }finally{
116                         try{
117                                 session.close();
118                         }catch(Exception e1){
119                                 logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
120                         }
121                 }
122         }
123
124 }