2 * Copyright (C) 2017 CMCC, Inc. and others. All rights reserved.
\r
4 * Licensed under the Apache License, Version 2.0 (the "License");
\r
5 * you may not use this file except in compliance with the License.
\r
6 * You may obtain a copy of the License at
\r
8 * http://www.apache.org/licenses/LICENSE-2.0
\r
10 * Unless required by applicable law or agreed to in writing, software
\r
11 * distributed under the License is distributed on an "AS IS" BASIS,
\r
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
13 * See the License for the specific language governing permissions and
\r
14 * limitations under the License.
\r
16 package org.onap.usecaseui.server.service.impl;
\r
19 import java.sql.Timestamp;
\r
20 import java.util.ArrayList;
\r
21 import java.util.Collections;
\r
22 import java.util.List;
\r
24 import javax.persistence.EntityManagerFactory;
\r
25 import javax.transaction.Transactional;
\r
27 import org.hibernate.Query;
\r
28 import org.hibernate.Session;
\r
29 import org.hibernate.SessionFactory;
\r
30 import org.hibernate.Transaction;
\r
31 import org.onap.usecaseui.server.bean.AlarmsHeader;
\r
32 import org.onap.usecaseui.server.bean.SortMaster;
\r
33 import org.onap.usecaseui.server.service.AlarmsHeaderService;
\r
34 import org.onap.usecaseui.server.util.Page;
\r
35 import org.onap.usecaseui.server.util.UuiCommonUtil;
\r
36 import org.slf4j.Logger;
\r
37 import org.slf4j.LoggerFactory;
\r
38 import org.springframework.beans.factory.annotation.Autowired;
\r
39 import org.springframework.context.annotation.EnableAspectJAutoProxy;
\r
40 import org.springframework.stereotype.Service;
\r
43 @Service("AlarmsHeaderService")
\r
45 @org.springframework.context.annotation.Configuration
\r
46 @EnableAspectJAutoProxy
\r
47 public class AlarmsHeaderServiceImpl implements AlarmsHeaderService {
\r
49 private static final Logger logger = LoggerFactory.getLogger(AlarmsHeaderServiceImpl.class);
\r
52 private EntityManagerFactory entityManagerFactory;
\r
54 public Session getSession() {
\r
55 return entityManagerFactory.unwrap(SessionFactory.class).getCurrentSession();}
\r
57 public String saveAlarmsHeader(AlarmsHeader alarmsHeader) {
\r
58 Session session = getSession();
\r
60 if (null == alarmsHeader) {
\r
61 logger.error("AlarmsHeaderServiceImpl saveAlarmsHeader alarmsHeader is null!");
\r
64 logger.info("AlarmsHeaderServiceImpl saveAlarmsHeader: alarmsHeader={}", alarmsHeader);
\r
65 Transaction tx = session.beginTransaction();
\r
66 session.save(alarmsHeader);
\r
70 } catch (Exception e) {
\r
71 logger.error("exception occurred while performing AlarmsHeaderServiceImpl saveAlarmsHeader. Details:" + e.getMessage());
\r
77 public String updateAlarmsHeader(AlarmsHeader alarmsHeader) {
\r
78 Session session = getSession();
\r
80 if (null == alarmsHeader){
\r
81 logger.error("AlarmsHeaderServiceImpl updateAlarmsHeader alarmsHeader is null!");
\r
84 logger.info("AlarmsHeaderServiceImpl updateAlarmsHeader: alarmsHeader={}", alarmsHeader);
\r
85 Transaction tx = session.beginTransaction();
\r
86 session.update(alarmsHeader);
\r
90 } catch (Exception e) {
\r
91 logger.error("exception occurred while performing AlarmsHeaderServiceImpl updateAlarmsHeader. Details:" + e.getMessage());
\r
96 public int getAllCount(AlarmsHeader alarmsHeader,int currentPage,int pageSize) {
\r
97 Session session = getSession();
\r
99 StringBuffer count=new StringBuffer("select count(*) from AlarmsHeader a where 1=1");
\r
100 if (null == alarmsHeader) {
\r
101 logger.error("AlarmsHeaderServiceImpl getAllCount alarmsHeader is null!");
\r
104 if(UuiCommonUtil.isNotNullOrEmpty(alarmsHeader.getSourceName())) {
\r
105 String ver =alarmsHeader.getSourceName();
\r
106 count.append(" and a.sourceName like '%"+ver+"%'");
\r
108 if(UuiCommonUtil.isNotNullOrEmpty(alarmsHeader.getPriority())) {
\r
109 String ver =alarmsHeader.getPriority();
\r
110 count.append(" and a.priority like '%"+ver+"%'");
\r
112 if(UuiCommonUtil.isNotNullOrEmpty(alarmsHeader.getStatus())) {
\r
113 String ver =alarmsHeader.getStatus();
\r
114 count.append(" and a.status = '"+ver+"'");
\r
116 if(UuiCommonUtil.isNotNullOrEmpty(alarmsHeader.getStartEpochMicrosec())&&UuiCommonUtil.isNotNullOrEmpty(alarmsHeader.getLastEpochMicroSec())) {
\r
117 count.append(" and (CASE WHEN a.startEpochMicrosec=0 THEN a.lastEpochMicroSec ELSE a.startEpochMicrosec END) between :startTime and :endTime ");
\r
120 Query query = session.createQuery(count.toString());
\r
121 if(UuiCommonUtil.isNotNullOrEmpty(alarmsHeader.getStartEpochMicrosec())&&UuiCommonUtil.isNotNullOrEmpty(alarmsHeader.getLastEpochMicroSec())) {
\r
122 query.setString("startTime",alarmsHeader.getStartEpochMicrosec());
\r
123 query.setString("endTime",alarmsHeader.getLastEpochMicroSec());
\r
125 long q=(long)query.uniqueResult();
\r
128 } catch (Exception e) {
\r
129 logger.error("exception occurred while performing AlarmsHeaderServiceImpl getAllCount. Details:" + e.getMessage());
\r
134 @SuppressWarnings("unchecked")
\r
136 public Page<AlarmsHeader> queryAlarmsHeader(AlarmsHeader alarmsHeader,int currentPage,int pageSize) {
\r
137 Page<AlarmsHeader> page = new Page<AlarmsHeader>();
\r
138 int allRow =this.getAllCount(alarmsHeader,currentPage,pageSize);
\r
139 int offset = page.countOffset(currentPage, pageSize);
\r
140 Session session = getSession();
\r
142 StringBuffer hql =new StringBuffer("from AlarmsHeader a where 1=1");
\r
143 if (null == alarmsHeader) {
\r
144 logger.error("AlarmsHeaderServiceImpl queryAlarmsHeader alarmsHeader is null!");
\r
147 if(UuiCommonUtil.isNotNullOrEmpty(alarmsHeader.getSourceName())) {
\r
148 String ver =alarmsHeader.getSourceName();
\r
149 hql.append(" and a.sourceName like '%"+ver+"%'");
\r
151 if(UuiCommonUtil.isNotNullOrEmpty(alarmsHeader.getVfStatus())) {
\r
152 String ver =alarmsHeader.getVfStatus();
\r
153 hql.append(" and a.vfStatus = '"+ver+"'");
\r
155 if(UuiCommonUtil.isNotNullOrEmpty(alarmsHeader.getStatus())) {
\r
156 String ver =alarmsHeader.getStatus();
\r
157 hql.append(" and a.status = '"+ver+"'");
\r
159 if(UuiCommonUtil.isNotNullOrEmpty(alarmsHeader.getStartEpochMicrosec())&&UuiCommonUtil.isNotNullOrEmpty(alarmsHeader.getLastEpochMicroSec())) {
\r
160 hql.append(" and (CASE WHEN a.startEpochMicrosec=0 THEN a.lastEpochMicroSec ELSE a.startEpochMicrosec END) between :startTime and :endTime ");
\r
163 logger.info("AlarmsHeaderServiceImpl queryAlarmsHeader: alarmsHeader={}", alarmsHeader);
\r
164 Query query = session.createQuery(hql.toString());
\r
165 if(UuiCommonUtil.isNotNullOrEmpty(alarmsHeader.getStartEpochMicrosec())&&UuiCommonUtil.isNotNullOrEmpty(alarmsHeader.getLastEpochMicroSec())) {
\r
166 query.setString("startTime",alarmsHeader.getStartEpochMicrosec());
\r
167 query.setString("endTime",alarmsHeader.getLastEpochMicroSec());
\r
169 query.setFirstResult(offset);
\r
170 query.setMaxResults(pageSize);
\r
171 List<AlarmsHeader> list= query.list();
\r
172 page.setPageNo(currentPage);
\r
173 page.setPageSize(pageSize);
\r
174 page.setTotalRecords(allRow);
\r
175 page.setList(list);
\r
178 } catch (Exception e) {
\r
179 logger.error("exception occurred while performing AlarmsHeaderServiceImpl queryAlarmsHeader. Details:" + e.getMessage());
\r
184 @SuppressWarnings("unchecked")
\r
186 public List<AlarmsHeader> queryId(String[] id) {
\r
187 Session session = getSession();
\r
189 List<AlarmsHeader> list = new ArrayList<AlarmsHeader>();
\r
191 logger.error("AlarmsHeaderServiceImpl queryId is null!");
\r
194 Query query = session.createQuery("from AlarmsHeader a where a.eventName IN (:alist)");
\r
195 list = query.setParameterList("alist", id).list();
\r
197 } catch (Exception e) {
\r
198 logger.error("exception occurred while performing AlarmsHeaderServiceImpl queryId. Details:" + e.getMessage());
\r
204 public String updateAlarmsHeader2018(String status, Timestamp date, String startEpochMicrosecCleared, String lastEpochMicroSecCleared, String eventName, String reportingEntityName, String specificProblem) {
\r
205 Session session = getSession();
\r
207 //try(Session session = sessionFactory.getCurrentSession();){
\r
208 session.beginTransaction();
\r
210 //Query q=session.createQuery("update AlarmsHeader set status='"+status+"', updateTime='"+date+"' , startEpochMicrosecCleared='"+startEpochMicrosecCleared+"' ,lastEpochMicroSecCleared='"+lastEpochMicroSecCleared+"' where eventName='"+eventName+"' and reportingEntityName='"+reportingEntityName+"' and specificProblem ='"+specificProblem+"'");
\r
211 Query q=session.createQuery("update AlarmsHeader set status=:status, startEpochMicrosecCleared=:startEpochMicrosecCleared ,lastEpochMicroSecCleared=:lastEpochMicroSecCleared where eventName=:eventName and reportingEntityName=:reportingEntityName and specificProblem =:specificProblem");
\r
213 q.setString("status",status);
\r
215 q.setString("startEpochMicrosecCleared",startEpochMicrosecCleared);
\r
216 q.setString("lastEpochMicroSecCleared",lastEpochMicroSecCleared);
\r
217 q.setString("eventName",eventName);
\r
218 q.setString("reportingEntityName",reportingEntityName);
\r
219 q.setString("specificProblem",specificProblem);
\r
223 session.getTransaction().commit();
\r
226 } catch (Exception e) {
\r
227 logger.error("exception occurred while performing AlarmsInformationServiceImpl updateAlarmsInformation. Details:" + e.getMessage());
\r
233 public String queryStatusCount(String status) {
\r
234 Session session = getSession();
\r
236 String hql = "select count(status) from AlarmsHeader a";
\r
237 if (!status.equals("0"))
\r
238 hql+=" where a.status = :status";
\r
239 Query query = session.createQuery(hql);
\r
240 if (!status.equals("0"))
\r
241 query.setString("status",status);
\r
242 return query.uniqueResult().toString();
\r
243 } catch (Exception e) {
\r
244 logger.error("exception occurred while performing AlarmsHeaderServiceImpl queryStatusCount. Details:" + e.getMessage());
\r
250 public AlarmsHeader getAlarmsHeaderById(String id) {
\r
251 Session session = getSession();
\r
254 String string = "from AlarmsHeader a where 1=1 and a.id=:id";
\r
255 Query q = session.createQuery(string);
\r
256 q.setString("id",id);
\r
257 AlarmsHeader alarmsHeader =(AlarmsHeader)q.uniqueResult();
\r
258 return alarmsHeader;
\r
260 }catch (Exception e){
\r
261 logger.error("exception occurred while performing AlarmsHeaderServiceImpl getAlarmsHeaderDetail."+e.getMessage());
\r
267 public List<SortMaster> listSortMasters(String sortType) {
\r
268 Session session = getSession();
\r
270 StringBuffer hql =new StringBuffer("from SortMaster a where 1=1 and a.sortType=:sortType");
\r
271 Query query = session.createQuery(hql.toString());
\r
272 query.setString("sortType",sortType);
\r
273 List<SortMaster> list= query.list();
\r
275 } catch (Exception e) {
\r
276 logger.error("exception occurred while performing AlarmsInformationServiceImpl listSortMasters. Details:" + e.getMessage());
\r
277 return Collections.emptyList();
\r