1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.logging.log4j.catalog.jpa.service;
18
19 import java.util.HashMap;
20 import java.util.List;
21 import java.util.Map;
22 import java.util.Optional;
23
24 import org.apache.logging.log4j.LogManager;
25 import org.apache.logging.log4j.Logger;
26 import org.apache.logging.log4j.catalog.jpa.dao.EventRepository;
27 import org.apache.logging.log4j.catalog.jpa.model.EventModel;
28 import org.springframework.beans.factory.annotation.Autowired;
29 import org.springframework.data.domain.Page;
30 import org.springframework.data.domain.Pageable;
31 import org.springframework.stereotype.Repository;
32 import org.springframework.stereotype.Service;
33 import org.springframework.transaction.annotation.Transactional;
34
35 @Service
36 @Repository
37 @Transactional
38 public class EventServiceImpl extends AbstractPagingAndSortingService implements EventService {
39 private static final Logger LOGGER = LogManager.getLogger();
40
41 @Autowired
42 private EventRepository eventRepository;
43
44 @Override
45 public List<EventModel> getEvents() {
46 return eventRepository.findAll();
47 }
48
49 @Override
50 public List<EventModel> getEvents(String catalogId) {
51 return eventRepository.findByCatalogId(catalogId);
52 }
53
54 @Override
55 public List<EventModel> getEvents(int startPage, int itemsPerPage, String sortColumn, String direction) {
56 Pageable pageable = createPageRequest(startPage, itemsPerPage, sortColumn, direction);
57 Page<EventModel> page = eventRepository.findAll(pageable);
58 return page.getContent();
59 }
60
61 @Override
62 public List<EventModel> getEvents(String catalogId, int startPage, int itemsPerPage, String sortColumn,
63 String direction) {
64 Pageable pageable = createPageRequest(startPage, itemsPerPage, sortColumn, direction);
65 Page<EventModel> page = eventRepository.findByCatalogId(catalogId, pageable);
66 return page.getContent();
67 }
68
69 @Override
70 public Map<String, EventModel> getEventMap() {
71 List<EventModel> events = getEvents();
72 Map<String, EventModel> eventMap = new HashMap<>(events.size());
73 for (EventModel event : events) {
74 eventMap.put(event.getName(), event);
75 }
76 return eventMap;
77 }
78
79 @Override
80 public Optional<EventModel> getEvent(Long eventId) {
81 return eventRepository.findOne(eventId);
82 }
83
84 @Override
85 public Optional<EventModel> getEvent(String catalogId, String eventName) {
86 return eventRepository.findByCatalogIdAndName(catalogId, eventName);
87 }
88
89 @Override
90 public EventModel saveEvent(EventModel event) {
91 return eventRepository.save(event);
92 }
93
94 @Override
95 public void deleteEvent(Long eventId) {
96 eventRepository.deleteById(eventId);
97 }
98 }