blob: 57aa5f18e227214e05565dea8de71673263f7e0e [file] [log] [blame]
Aharoni, Pavel (pa0916)ca3cb012018-10-22 15:29:57 +03001/*-
2 * ============LICENSE_START=======================================================
3 * OSAM Core
4 * ================================================================================
5 * Copyright (C) 2018 Netsia
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
22
23package org.onap.osam.core;
24
25import org.onap.osam.model.dao.AlarmsAndEvents;
26import org.onap.osam.api.service.AlarmService;
27import org.onap.osam.common.exception.UnknownTypeException;
28import org.onap.osam.model.dao.ActiveAlarmsAndEvents;
29import org.onap.osam.model.dao.HistoricalAlarmsAndEvents;
30import org.onap.osam.model.repository.ActiveAlarmsAndEventsRepository;
31import org.onap.osam.model.repository.HistoricalAlarmsAndEventsRepository;
32import org.springframework.beans.factory.annotation.Autowired;
33import org.springframework.stereotype.Service;
34
35import java.util.Date;
36import java.util.List;
37
38@Service
39public class AlarmServiceImpl extends AbstractBaseServiceImpl implements AlarmService {
40
41 ActiveAlarmsAndEventsRepository activeAlarmsAndEventsRepository;
42 HistoricalAlarmsAndEventsRepository historicalAlarmsAndEventsRepository;
43
44 @Autowired
45 public AlarmServiceImpl(ActiveAlarmsAndEventsRepository activeAlarmsAndEventsRepository,
46 HistoricalAlarmsAndEventsRepository historicalAlarmsAndEventsRepository){
47 this.activeAlarmsAndEventsRepository = activeAlarmsAndEventsRepository;
48 this.historicalAlarmsAndEventsRepository = historicalAlarmsAndEventsRepository;
49 }
50
51 @Override
52 public List<ActiveAlarmsAndEvents> getActiveAlarmsAndEventsByDate(Date startDate, Date endDate) {
53 return activeAlarmsAndEventsRepository.findAllActiveAlarmsAndEventsByDateLessThanEqualAndDateGreaterThanEqual
54 (endDate,startDate);
55 }
56
57 @Override
58 public List<HistoricalAlarmsAndEvents> getHistoricalAlarmsAndEventsByDate(Date startDate, Date endDate) {
59 return historicalAlarmsAndEventsRepository.findAllHistoricalAlarmsAndEventsByDateLessThanEqualAndDateGreaterThanEqual(endDate,startDate);
60
61 }
62
63 @Override
64 public void addOrUpdate(AlarmsAndEvents alarmsAndEvents) {
65 switch (alarmsAndEvents.getAlarmStatus()){
66 case ACTIVE:
67 add(new ActiveAlarmsAndEvents(alarmsAndEvents),activeAlarmsAndEventsRepository);
68 add(new HistoricalAlarmsAndEvents(alarmsAndEvents),historicalAlarmsAndEventsRepository);
69 break;
70 case DEACTIVE:
71 remove(alarmsAndEvents.getId(),activeAlarmsAndEventsRepository,AlarmsAndEvents.class);
72 add(new HistoricalAlarmsAndEvents(alarmsAndEvents) ,historicalAlarmsAndEventsRepository);
73 break;
74 default:
75 throw new UnknownTypeException("alarm status is unknown" + alarmsAndEvents.getAlarmStatus());
76 }
77 }
78}