Initial OpenECOMP policy/engine commit
[policy/engine.git] / ecomp-sdk-app / src / main / java / org / openecomp / policy / daoImp / FirewallDictionaryListDaoImpl.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.ArrayList;
25 import java.util.List;
26
27 import org.hibernate.Criteria;
28 import org.hibernate.Query;
29 import org.hibernate.Session;
30 import org.hibernate.SessionFactory;
31 import org.hibernate.Transaction;
32 import org.hibernate.criterion.Restrictions;
33 import org.openecomp.policy.rest.dao.FirewallDictionaryListDao;
34 import org.openecomp.policy.rest.jpa.FirewallDictionaryList;
35 import org.springframework.beans.factory.annotation.Autowired;
36 import org.springframework.stereotype.Service;
37
38 import org.openecomp.policy.xacml.api.XACMLErrorConstants;
39
40 import org.openecomp.policy.common.logging.flexlogger.FlexLogger; 
41 import org.openecomp.policy.common.logging.flexlogger.Logger;
42
43 @Service("FirewallDictionaryListDao")
44 public class FirewallDictionaryListDaoImpl implements FirewallDictionaryListDao {
45         private static final Logger logger = FlexLogger.getLogger(FirewallDictionaryListDaoImpl.class);
46         @Autowired
47         SessionFactory sessionfactory;
48         
49         @SuppressWarnings("unchecked")
50         @Override
51         public List<FirewallDictionaryList> getFWDictionaryListData() {
52                 Session session = sessionfactory.openSession();
53                 Transaction tx = session.beginTransaction();
54                 List<FirewallDictionaryList> attributeData =  null;
55         try {
56                 Criteria cr = session.createCriteria(FirewallDictionaryList.class);
57             attributeData = cr.list();
58                         tx.commit();
59                 } catch (Exception e) {
60                         logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying FirewallDictionaryList Table"+e);   
61                 }finally{
62                         try{
63                                 session.close();
64                         }catch(Exception e1){
65                                 logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
66                         }
67                 }
68                 return attributeData;
69
70         }
71
72         @SuppressWarnings("unchecked")
73         @Override
74         public List<String> getFWDictionaryListDataByName() {
75                 Session session = sessionfactory.openSession();
76                 Transaction tx = session.beginTransaction();
77                 List<String> data = new ArrayList<String>();
78         try {
79                 Criteria cr = session.createCriteria(FirewallDictionaryList.class);
80             List<FirewallDictionaryList> attributeData = cr.list();    
81             for(int i = 0; i < attributeData.size(); i++){
82                  data.add(attributeData.get(i).getParentItemName());
83             }
84                         tx.commit();
85                 } catch (Exception e) {
86                         logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying FirewallDictionaryList Table"+e);   
87                 }finally{
88                         try{
89                                 session.close();
90                         }catch(Exception e1){
91                                 logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
92                         }
93                 }
94                 return data;
95         }
96
97         @Override
98         public void Save(FirewallDictionaryList firewallDictionaryList) {
99                 Session session = sessionfactory.openSession();
100                 Transaction tx = session.beginTransaction();
101                 try {
102                         session.persist(firewallDictionaryList);
103                         tx.commit();    
104                 }catch(Exception e){
105                         logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Saving FirewallDictionaryList Table"+e);     
106                 }finally{
107                         try{
108                                 session.close();
109                         }catch(Exception e1){
110                                 logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
111                         }
112                 }
113                 
114         }
115
116         @Override
117         public void delete(FirewallDictionaryList firewallDictionaryList) {
118                 Session session = sessionfactory.openSession();
119                 Transaction tx = session.beginTransaction();
120                 try {
121                         session.delete(firewallDictionaryList);
122                         tx.commit();    
123                 }catch(Exception e){
124                         logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Deleting FirewallDictionaryList Table"+e);   
125                 }finally{
126                         try{
127                                 session.close();
128                         }catch(Exception e1){
129                                 logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
130                         }
131                 }
132                 
133         }
134
135         @Override
136         public void update(FirewallDictionaryList firewallDictionaryList) {
137                 Session session = sessionfactory.openSession();
138                 Transaction tx = session.beginTransaction();
139                 try {
140                         session.update(firewallDictionaryList);
141                         tx.commit();    
142                 }catch(Exception e){
143                         logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Updating FirewallDictionaryList Table"+e);   
144                 }finally{
145                         try{
146                                 session.close();
147                         }catch(Exception e1){
148                                 logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
149                         }
150                 }
151                 
152         }
153
154         @Override
155         public void updateQuery(String query) {
156                 Session session = sessionfactory.openSession();
157                 Transaction tx = session.beginTransaction();    
158                 try {
159                         Query hbquery = session.createQuery(query);
160                         hbquery.executeUpdate();
161                         tx.commit();
162                 } catch (Exception e) {
163                         logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Updating FirewallDictionaryList Table"+e);   
164                 }finally{
165                         try{
166                                 session.close();
167                         }catch(Exception e1){
168                                 logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
169                         }
170                 }
171                 
172         }
173
174         @Override
175         public FirewallDictionaryList getFWDictionaryDataById(String value) {
176                 Session session = sessionfactory.openSession();
177                 Transaction tx = session.beginTransaction();
178                 FirewallDictionaryList data = null;
179         try {
180                 Criteria cr = session.createCriteria(FirewallDictionaryList.class);
181                 cr = cr.add(Restrictions.eq("parentItemName",value));
182                 data = (FirewallDictionaryList) cr.list().get(0);
183                         tx.commit();
184                 } catch (Exception e) {
185                         logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Querying FirewallDictionaryList Table"+e);   
186                 }finally{
187                         try{
188                                 session.close();
189                         }catch(Exception e1){
190                                 logger.error(XACMLErrorConstants.ERROR_PROCESS_FLOW + "Error While Closing Connection/Statement"+e1);
191                         }
192                 }
193                 return data;
194         }
195
196 }