instantiate and terminate servce
[usecase-ui/server.git] / src / main / java / org / onap / usecaseui / server / service / impl / PerformanceHeaderServiceImpl.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.util.Date;
20 import java.util.List;
21
22 import javax.transaction.Transactional;
23
24 import org.hibernate.Query;
25 import org.hibernate.Session;
26 import org.hibernate.SessionFactory;
27 import org.hibernate.Transaction;
28 import org.onap.usecaseui.server.bean.PerformanceHeader;
29 import org.onap.usecaseui.server.service.PerformanceHeaderService;
30 import org.onap.usecaseui.server.util.Page;
31 import org.slf4j.Logger;
32 import org.slf4j.LoggerFactory;
33 import org.springframework.beans.factory.annotation.Autowired;
34 import org.springframework.context.annotation.EnableAspectJAutoProxy;
35 import org.springframework.stereotype.Service;
36
37
38 @Service("PerformanceHeaderService")
39 @Transactional
40 @org.springframework.context.annotation.Configuration
41 @EnableAspectJAutoProxy
42 public class PerformanceHeaderServiceImpl implements PerformanceHeaderService {
43         
44     private static final Logger logger = LoggerFactory.getLogger(PerformanceHeaderServiceImpl.class);
45
46     @Autowired
47     private SessionFactory sessionFactory;
48
49
50         @Override
51         public String savePerformanceHeader(PerformanceHeader performanceHeder) {
52                  try{
53                     if (null == performanceHeder){
54                         logger.error("PerformanceHeaderServiceImpl savePerformanceHeader performanceHeder is null!");
55                     }
56                     logger.info("PerformanceHeaderServiceImpl savePerformanceHeader: performanceHeder={}", performanceHeder);
57                     Session session = sessionFactory.openSession();
58                     Transaction tx = session.beginTransaction();     
59                     session.save(performanceHeder);
60                     tx.commit();
61                     session.flush();
62                     session.close();
63                     return "1";
64                 } catch (Exception e) {
65                     logger.error("Exception occurred while performing PerformanceHeaderServiceImpl savePerformanceHeader. Details:" + e.getMessage());
66                     return "0";
67                 }
68                 
69         }
70
71
72         @Override
73         public String updatePerformanceHeader(PerformanceHeader performanceHeder) {
74                 try{
75             if (null == performanceHeder){
76                 logger.error("PerformanceHeaderServiceImpl updatePerformanceHeader performanceHeder is null!");
77             }
78             logger.info("PerformanceHeaderServiceImpl savePerformanceHeader: performanceHeder={}", performanceHeder);
79             Session session = sessionFactory.openSession();
80             Transaction tx = session.beginTransaction();     
81             session.update(performanceHeder);
82             tx.commit();
83             session.flush();
84             session.close();
85             return "1";
86         } catch (Exception e) {
87             logger.error("Exception occurred while performing PerformanceHeaderServiceImpl updatePerformanceHeader. Details:" + e.getMessage());
88             return "0";
89         }
90         }
91
92
93         public int getAllCount() {
94                 try{
95             Session session = sessionFactory.openSession();
96             Transaction tx = session.beginTransaction();     
97             long q=(long)session.createQuery("select count(*) from PerformanceHeader").uniqueResult();
98             tx.commit();
99             session.flush();
100             session.close();
101             return (int)q;
102         } catch (Exception e) {
103             logger.error("Exception occurred while performing PerformanceHeaderServiceImpl getAllCount. Details:" + e.getMessage());
104             return 0;
105         }
106         }
107
108         @SuppressWarnings("unchecked")
109         @Override
110         public Page<PerformanceHeader> queryPerformanceHeader(PerformanceHeader performanceHeder, int currentPage,
111                         int pageSize) {
112                 Page<PerformanceHeader> page = new Page<PerformanceHeader>();
113                 int allRow =this.getAllCount();
114                 int offset = page.countOffset(currentPage, pageSize);
115                 
116                 try{
117                         StringBuffer hql =new StringBuffer("from PerformanceHeader a where 1=1");
118             if (null == performanceHeder) {
119                 logger.error("PerformanceHeaderServiceImpl queryAlarmsHeader performanceHeder is null!");
120             }else if(null!=performanceHeder.getVersion()) {
121                 String ver=performanceHeder.getVersion();
122                 hql.append(" and a.version like '%"+ver+"%'");
123             }else if(null!=performanceHeder.getEventName()) {
124                 String ver=performanceHeder.getEventName();
125                 hql.append(" and a.eventName like '%"+ver+"%'");
126             }else if(null!=performanceHeder.getDomain()) {
127                 String ver=performanceHeder.getDomain();
128                 hql.append(" and a.domain like '%"+ver+"%'");
129             }else if(null!=performanceHeder.getEventId()) {
130                 String ver=performanceHeder.getEventId();
131                 hql.append(" and a.eventId like '%"+ver+"%'");
132             }else if(null!=performanceHeder.getNfcNamingCode()) {
133                 String ver=performanceHeder.getNfcNamingCode();
134                 hql.append(" and a.nfcNamingCode like '%"+ver+"%'");
135             }else if(null!=performanceHeder.getNfNamingCode()) {
136                 String ver=performanceHeder.getNfNamingCode();
137                 hql.append(" and a.nfNamingCode like '%"+ver+"%'");
138             }else if(null!=performanceHeder.getSourceId()) {
139                 String ver =performanceHeder.getSourceId();
140                 hql.append(" and a.sourceId like '%"+ver+"%'");
141             }else if(null!=performanceHeder.getSourceName()) {
142                 String ver =performanceHeder.getSourceName();
143                 hql.append(" and a.sourceName like '%"+ver+"%'");
144             }else if(null!=performanceHeder.getReportingEntityId()) {
145                 String ver =performanceHeder.getReportingEntityId();
146                 hql.append(" and a.reportingEntityId like '%"+ver+"%'");
147             }else if(null!=performanceHeder.getReportingEntityName()) {
148                 String ver =performanceHeder.getReportingEntityName();
149                 hql.append(" and a.reportingEntityName like '%"+ver+"%'");
150             }else if(null!=performanceHeder.getPriority()) {
151                 String ver =performanceHeder.getPriority();
152                 hql.append(" and a.priority like '%"+ver+"%'");
153             }else if(null!=performanceHeder.getStartEpochMicrosec()) {
154                 String ver =performanceHeder.getStartEpochMicrosec();
155                 hql.append(" and a.startEpochMicrosec like '%"+ver+"%'");
156             }else if(null!=performanceHeder.getLastEpochMicroSec()) {
157                 String ver =performanceHeder.getLastEpochMicroSec();
158                 hql.append(" and a.lastEpochMicroSec like '%"+ver+"%'");
159             }else if(null!=performanceHeder.getSequence()) {
160                 String ver =performanceHeder.getSequence();
161                 hql.append(" and a.sequence like '%"+ver+"%'");
162             }else if(null!=performanceHeder.getMeasurementsForVfScalingVersion()) {
163                 String ver =performanceHeder.getMeasurementsForVfScalingVersion();
164                 hql.append(" and a.measurementsForVfScalingVersion like '%"+ver+"%'");
165             }else if(null!=performanceHeder.getMeasurementInterval()) {
166                 String ver =performanceHeder.getMeasurementInterval();
167                 hql.append(" and a.measurementInterval like '%"+ver+"%'");
168             }else if(null!=performanceHeder.getEventType()) {
169                 String ver =performanceHeder.getEventType();
170                 hql.append(" and a.eventSourceType like '%"+ver+"%'");
171             }else if(null!=performanceHeder.getCreateTime()) {
172                 Date ver =performanceHeder.getCreateTime();
173                 hql.append(" and a.createTime like '%"+ver+"%'");
174             }else if(null!=performanceHeder.getUpdateTime()) {
175                 Date ver =performanceHeder.getUpdateTime();
176                 hql.append(" and a.updateTime like '%"+ver+"%'");
177             }
178             logger.info("PerformanceHeaderServiceImpl queryPerformanceHeader: performanceHeder={}", performanceHeder);
179             Session session = sessionFactory.openSession();
180             Transaction tx = session.beginTransaction(); 
181             Query query = session.createQuery(hql.toString());
182             query.setFirstResult(offset);
183             query.setMaxResults(pageSize);
184             List<PerformanceHeader> list= query.list();
185             page.setPageNo(currentPage);
186             page.setPageSize(pageSize);
187             page.setTotalRecords(allRow);
188             page.setList(list);
189             tx.commit();
190             session.flush();
191             session.close();
192             return page;
193         } catch (Exception e) {
194             logger.error("Exception occurred while performing PerformanceHeaderServiceImpl queryPerformanceHeader. Details:" + e.getMessage());
195             return null;
196         }
197         }
198
199
200     
201     
202 }