change project structure
[usecase-ui/server.git] / server / src / main / java / org / onap / usecaseui / server / service / impl / AlarmsHeaderServiceImpl.java
1 /*
2  * Copyright (C) 2017 CMCC, Inc. and others. All rights reserved.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *     http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 package org.onap.usecaseui.server.service.impl;
17
18
19 import java.text.SimpleDateFormat;
20 import java.util.Date;
21 import java.util.List;
22
23 import javax.transaction.Transactional;
24
25 import org.hibernate.Query;
26 import org.hibernate.Session;
27 import org.hibernate.SessionFactory;
28 import org.hibernate.Transaction;
29 import org.onap.usecaseui.server.bean.AlarmsHeader;
30 import org.onap.usecaseui.server.service.AlarmsHeaderService;
31 import org.onap.usecaseui.server.util.Page;
32 import org.slf4j.Logger;
33 import org.slf4j.LoggerFactory;
34 import org.springframework.beans.factory.annotation.Autowired;
35 import org.springframework.context.annotation.EnableAspectJAutoProxy;
36 import org.springframework.stereotype.Service;
37
38
39 @Service("AlarmsHeaderService")
40 @Transactional
41 @org.springframework.context.annotation.Configuration
42 @EnableAspectJAutoProxy
43 public class AlarmsHeaderServiceImpl implements AlarmsHeaderService {
44         
45     private static final Logger logger = LoggerFactory.getLogger(AlarmsHeaderServiceImpl.class);
46
47     @Autowired
48     private SessionFactory sessionFactory;
49     
50     
51         public String saveAlarmsHeader(AlarmsHeader alarmsHeader) {
52                  try{
53                     if (null == alarmsHeader) {
54                         logger.error("AlarmsHeaderServiceImpl saveAlarmsHeader alarmsHeader is null!");
55                     }
56                     logger.info("AlarmsHeaderServiceImpl saveAlarmsHeader: alarmsHeader={}", alarmsHeader);
57                     Session session = sessionFactory.openSession();
58                     Transaction tx = session.beginTransaction();     
59                     session.save(alarmsHeader);
60                     tx.commit();
61                     session.flush();
62                     session.close();
63                     return "1";
64                 } catch (Exception e) {
65                     logger.error("Exception occurred while performing AlarmsHeaderServiceImpl saveAlarmsHeader. Details:" + e.getMessage());
66                     return "0";
67                 }
68                 
69         }
70         
71
72         @Override
73         public String updateAlarmsHeader(AlarmsHeader alarmsHeader) {
74                 try{
75             if (null == alarmsHeader){
76                 logger.error("AlarmsHeaderServiceImpl saveAlarmsHeader alarmsHeader is null!");
77             }
78             logger.info("AlarmsHeaderServiceImpl saveAlarmsHeader: alarmsHeader={}", alarmsHeader);
79             Session session = sessionFactory.openSession();
80             Transaction tx = session.beginTransaction();     
81             session.update(alarmsHeader);
82             tx.commit();
83             session.flush();
84             session.close();
85             return "1";
86         } catch (Exception e) {
87             logger.error("Exception occurred while performing AlarmsHeaderServiceImpl updateAlarmsHeader. Details:" + e.getMessage());
88             return "0";
89         }
90         }
91
92         public int getAllCount() {
93                 try{
94             Session session = sessionFactory.openSession();
95             long q=(long)session.createQuery("select count(*) from AlarmsHeader").uniqueResult();
96             session.flush();
97             session.close();
98             return (int)q;
99         } catch (Exception e) {
100             logger.error("Exception occurred while performing AlarmsHeaderServiceImpl getAllCount. Details:" + e.getMessage());
101             return -1;
102         }
103         }
104
105         @SuppressWarnings("unchecked")
106         @Override
107         public Page<AlarmsHeader> queryAlarmsHeader(AlarmsHeader alarmsHeader,int currentPage,int pageSize) {
108                 Page<AlarmsHeader> page = new Page<AlarmsHeader>();
109                 int allRow =this.getAllCount();
110                 int offset = page.countOffset(currentPage, pageSize);
111                 
112                 try{
113                         Date date = new Date();
114 //                      SimpleDateFormat date = new SimpleDateFormat("yy-MM-dd hh:mm:ss");
115                         StringBuffer hql =new StringBuffer("from AlarmsHeader a where 1=1");
116             if (null == alarmsHeader) {
117                 logger.error("AlarmsHeaderServiceImpl queryAlarmsHeader alarmsHeader is null!");
118             }else if(null!=alarmsHeader.getVersion()) {
119                 String ver=alarmsHeader.getVersion();
120                 hql.append(" and a.version like '%"+ver+"%'");
121             }else if(null!=alarmsHeader.getEventName()) {
122                 String ver=alarmsHeader.getEventName();
123                 hql.append(" and a.eventName like '%"+ver+"%'");
124             }else if(null!=alarmsHeader.getAlarmCondition()) {
125                 String ver=alarmsHeader.getAlarmCondition();
126                 hql.append(" and a.alarmCondition like '%"+ver+"%'");
127             }else if(null!=alarmsHeader.getDomain()) {
128                 String ver=alarmsHeader.getDomain();
129                 hql.append(" and a.domain like '%"+ver+"%'");
130             }else if(null!=alarmsHeader.getEventId()) {
131                 String ver=alarmsHeader.getEventId();
132                 hql.append(" and a.eventId like '%"+ver+"%'");
133             }else if(null!=alarmsHeader.getNfcNamingCode()) {
134                 String ver=alarmsHeader.getNfcNamingCode();
135                 hql.append(" and a.nfcNamingCode like '%"+ver+"%'");
136             }else if(null!=alarmsHeader.getNfNamingCode()) {
137                 String ver=alarmsHeader.getNfNamingCode();
138                 hql.append(" and a.nfNamingCode like '%"+ver+"%'");
139             }else if(null!=alarmsHeader.getSourceId()) {
140                 String ver =alarmsHeader.getSourceId();
141                 hql.append(" and a.sourceId like '%"+ver+"%'");
142             }else if(null!=alarmsHeader.getSourceName()) {
143                 String ver =alarmsHeader.getSourceName();
144                 hql.append(" and a.sourceName like '%"+ver+"%'");
145             }else if(null!=alarmsHeader.getReportingEntityId()) {
146                 String ver =alarmsHeader.getReportingEntityId();
147                 hql.append(" and a.reportingEntityId like '%"+ver+"%'");
148             }else if(null!=alarmsHeader.getReportingEntityName()) {
149                 String ver =alarmsHeader.getReportingEntityName();
150                 hql.append(" and a.reportingEntityName like '%"+ver+"%'");
151             }else if(null!=alarmsHeader.getPriority()) {
152                 String ver =alarmsHeader.getPriority();
153                 hql.append(" and a.priority like '%"+ver+"%'");
154             }else if(null!=alarmsHeader.getStartEpochMicrosec()) {
155                 String ver =alarmsHeader.getStartEpochMicrosec();
156                 hql.append(" and a.startEpochMicrosec like '%"+ver+"%'");
157             }else if(null!=alarmsHeader.getLastEpochMicroSec()) {
158                 String ver =alarmsHeader.getLastEpochMicroSec();
159                 hql.append(" and a.lastEpochMicroSec like '%"+ver+"%'");
160             }else if(null!=alarmsHeader.getSequence()) {
161                 String ver =alarmsHeader.getSequence();
162                 hql.append(" and a.sequence like '%"+ver+"%'");
163             }else if(null!=alarmsHeader.getFaultFieldsVersion()) {
164                 String ver =alarmsHeader.getFaultFieldsVersion();
165                 hql.append(" and a.faultFieldsVersion like '%"+ver+"%'");
166             }else if(null!=alarmsHeader.getEventServrity()) {
167                 String ver =alarmsHeader.getEventServrity();
168                 hql.append(" and a.eventServrity like '%"+ver+"%'");
169             }else if(null!=alarmsHeader.getEventType()) {
170                 String ver =alarmsHeader.getEventType();
171                 hql.append(" and a.eventSourceType like '%"+ver+"%'");
172             }else if(null!=alarmsHeader.getEventCategory()) {
173                 String ver =alarmsHeader.getEventCategory();
174                 hql.append(" and a.eventCategory like '%"+ver+"%'");
175             }else if(null!=alarmsHeader.getAlarmCondition()) {
176                 String ver =alarmsHeader.getAlarmCondition();
177                 hql.append(" and a.alarmCondition like '%"+ver+"%'");
178             }else if(null!=alarmsHeader.getSpecificProblem()) {
179                 String ver =alarmsHeader.getSpecificProblem();
180                 hql.append(" and a.specificProblem like '%"+ver+"%'");
181             }else if(null!=alarmsHeader.getVfStatus()) {
182                 String ver =alarmsHeader.getVfStatus();
183                 hql.append(" and a.vfStatus like '%"+ver+"%'");
184             }else if(null!=alarmsHeader.getAlarmInterfaceA()) {
185                 String ver =alarmsHeader.getAlarmInterfaceA();
186                 hql.append(" and a.alarmInterfaceA like '%"+ver+"%'");
187             }else if(null!=alarmsHeader.getStatus()) {
188                 String ver =alarmsHeader.getStatus();
189                 hql.append(" and a.status like '%"+ver+"%'");
190             }else if(null!=alarmsHeader.getCreateTime()) {
191                 Date ver =alarmsHeader.getCreateTime();
192                 hql.append(" and a.createTime like '%"+ver+"%'");
193             }else if(null!=alarmsHeader.getUpdateTime()) {
194                 Date ver =alarmsHeader.getUpdateTime();
195                 hql.append(" and a.updateTime like '%"+ver+"%'");
196             }
197             logger.info("AlarmsHeaderServiceImpl saveAlarmsHeader: alarmsHeader={}", alarmsHeader);
198             Session session = sessionFactory.openSession();
199             Transaction tx = session.beginTransaction(); 
200             Query query = session.createQuery(hql.toString());
201             query.setFirstResult(offset);
202             query.setMaxResults(pageSize);
203             List<AlarmsHeader> list= query.list();
204             page.setPageNo(currentPage);
205             page.setPageSize(pageSize);
206             page.setTotalRecords(allRow);
207             page.setList(list);
208             tx.commit();
209             session.flush();
210             session.close();
211             return page;
212         } catch (Exception e) {
213             logger.error("Exception occurred while performing AlarmsHeaderServiceImpl queryAlarmsHeader. Details:" + e.getMessage());
214             return null;
215         }
216         }
217
218         
219     
220     
221     
222 }