added javaDoc for EventService and fix Todo
fix Todo in EventRepository
This commit is contained in:
@ -9,14 +9,13 @@ import org.springframework.stereotype.Repository;
|
||||
import java.util.List;
|
||||
|
||||
@Repository
|
||||
//TODO Rename Queries + Formatting
|
||||
public interface EventRepository extends CrudRepository<EventDTO, Long> {
|
||||
|
||||
@Query("select distinct group_id from event where user_id =:id")
|
||||
List<String> findGroup_idsWhereUser_id(@Param("id") String userId);
|
||||
@Query("select distinct group_id from event where user_id =:id AND event_type = AddUserEvent")
|
||||
List<String> findGroupIdsWhereUserId(@Param("id") String userId);
|
||||
|
||||
@Query("select * from event where group_id =:id")
|
||||
List<EventDTO> findEventDTOByGroup_id(@Param("id") String groupId);
|
||||
List<EventDTO> findEventDTOByGroupId(@Param("id") String groupId);
|
||||
|
||||
//@Query("SELECT * FROM event WHERE event_id > ?#{[0]}")
|
||||
//Iterable<EventDTO> findNewEventSinceStatus(@Param("status") Long status);
|
||||
@ -28,7 +27,7 @@ public interface EventRepository extends CrudRepository<EventDTO, Long> {
|
||||
List<EventDTO> findAllEventsOfGroups(@Param("groupIds") List<String> groupIds);
|
||||
|
||||
@Query("SELECT MAX(event_id) FROM event")
|
||||
Long getHighesEvent_ID();
|
||||
Long getHighesEventID();
|
||||
|
||||
@Query("SELECT * FROM event WHERE event_type = :type")
|
||||
List<EventDTO> findAllEventsByType(@Param("type") String type);
|
||||
|
||||
@ -29,20 +29,24 @@ public class EventService {
|
||||
* @param event Event, welches gespeichert wird
|
||||
*/
|
||||
public void saveEvent(Event event) {
|
||||
eventStore.save(getDTO(event));
|
||||
eventStore.save(getDTOFromEvent(event));
|
||||
}
|
||||
|
||||
public void saveAll(Event... events) {
|
||||
for (Event event : events) {
|
||||
eventStore.save(getDTO(event));
|
||||
eventStore.save(getDTOFromEvent(event));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert alle Events aus der übergebenen Liste in der DB.
|
||||
* @param events Liste an Events die gespeichert werden soll
|
||||
*/
|
||||
@SafeVarargs
|
||||
public final void saveAll(List<Event>... events) {
|
||||
for (List<Event> eventlist : events) {
|
||||
for (Event event : eventlist) {
|
||||
eventStore.save(getDTO(event));
|
||||
eventStore.save(getDTOFromEvent(event));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -52,10 +56,9 @@ public class EventService {
|
||||
* Ist die Gruppe öffentlich, dann wird die visibility auf true gesetzt.
|
||||
*
|
||||
* @param event Event, welches in DTO übersetzt wird
|
||||
* @return EventDTO Neues DTO
|
||||
* @return EventDTO (Neues DTO)
|
||||
*/
|
||||
//TODO Rename: getDTOFromEvent?
|
||||
public EventDTO getDTO(Event event) {
|
||||
public EventDTO getDTOFromEvent(Event event) {
|
||||
String payload = "";
|
||||
try {
|
||||
payload = jsonService.serializeEvent(event);
|
||||
@ -66,6 +69,11 @@ public class EventService {
|
||||
return new EventDTO(null, event.getGroupId().toString(), event.getUserId(), getEventType(event), payload);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gibt den Eventtyp als String wieder.
|
||||
* @param event Event dessen Typ abgefragt werden soll
|
||||
* @return Der Name des Typs des Events
|
||||
*/
|
||||
private String getEventType(Event event) {
|
||||
int lastDot = event.getClass().getName().lastIndexOf('.');
|
||||
|
||||
@ -83,7 +91,7 @@ public class EventService {
|
||||
List<String> groupIdsThatChanged = eventStore.findNewEventSinceStatus(status);
|
||||
|
||||
List<EventDTO> groupEventDTOS = eventStore.findAllEventsOfGroups(groupIdsThatChanged);
|
||||
return translateEventDTOs(groupEventDTOS);
|
||||
return getEventsFromDTOs(groupEventDTOS);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -92,8 +100,7 @@ public class EventService {
|
||||
* @param eventDTOS Liste von DTOs
|
||||
* @return Liste von Events
|
||||
*/
|
||||
//TODO Rename: getEventsFromDTO?
|
||||
public List<Event> translateEventDTOs(Iterable<EventDTO> eventDTOS) {
|
||||
public List<Event> getEventsFromDTOs(Iterable<EventDTO> eventDTOS) {
|
||||
List<Event> events = new ArrayList<>();
|
||||
|
||||
for (EventDTO eventDTO : eventDTOS) {
|
||||
@ -107,21 +114,36 @@ public class EventService {
|
||||
}
|
||||
|
||||
public Long getMaxEvent_id() {
|
||||
return eventStore.getHighesEvent_ID();
|
||||
return eventStore.getHighesEventID();
|
||||
}
|
||||
|
||||
/**
|
||||
* Gibt eine Liste mit allen Events zurück, die zu der Gruppe gehören.
|
||||
* @param groupId Gruppe die betrachtet werden soll
|
||||
* @return Liste aus Events
|
||||
*/
|
||||
public List<Event> getEventsOfGroup(UUID groupId) {
|
||||
List<EventDTO> eventDTOList = eventStore.findEventDTOByGroup_id(groupId.toString());
|
||||
return translateEventDTOs(eventDTOList);
|
||||
List<EventDTO> eventDTOList = eventStore.findEventDTOByGroupId(groupId.toString());
|
||||
return getEventsFromDTOs(eventDTOList);
|
||||
}
|
||||
|
||||
//TODO: Nur AddUserEvents betrachten
|
||||
/**
|
||||
* Gibt eine Liste aus Gruppen zurück in denen sich der User befindet.
|
||||
* @param userId Der User
|
||||
* @return Liste aus Gruppen
|
||||
*/
|
||||
public List<UUID> findGroupIdsByUser(String userId) {
|
||||
return eventStore.findGroup_idsWhereUser_id(userId).stream()
|
||||
return eventStore.findGroupIdsWhereUserId(userId).stream()
|
||||
.map(UUID::fromString)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
/**
|
||||
* Gibt true zurück, falls der User aktuell in der Gruppe ist, sonst false
|
||||
* @param groupId Id der Gruppe
|
||||
* @param userId Id des zu überprüfenden Users
|
||||
* @return true or false
|
||||
*/
|
||||
public boolean userInGroup(UUID groupId, String userId) {
|
||||
return eventStore.countEventsByGroupIdAndUserIdAndEventType(groupId.toString(), userId, "AddUserEvent")
|
||||
> eventStore.countEventsByGroupIdAndUserIdAndEventType(groupId.toString(), userId, "DeleteUserEvent");
|
||||
|
||||
@ -39,9 +39,9 @@ public class GroupService {
|
||||
public List<Event> getGroupEvents(List<UUID> groupIds) {
|
||||
List<EventDTO> eventDTOS = new ArrayList<>();
|
||||
for (UUID groupId : groupIds) {
|
||||
eventDTOS.addAll(eventRepository.findEventDTOByGroup_id(groupId.toString()));
|
||||
eventDTOS.addAll(eventRepository.findEventDTOByGroupId(groupId.toString()));
|
||||
}
|
||||
return eventService.translateEventDTOs(eventDTOS);
|
||||
return eventService.getEventsFromDTOs(eventDTOS);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -85,11 +85,11 @@ public class GroupService {
|
||||
*/
|
||||
//TODO Rename
|
||||
public List<Group> getAllGroupWithVisibilityPublic(String userId) throws EventException {
|
||||
List<Event> groupEvents = eventService.translateEventDTOs(eventRepository.findAllEventsByType("CreateGroupEvent"));
|
||||
groupEvents.addAll(eventService.translateEventDTOs(eventRepository.findAllEventsByType("UpdateGroupDescriptionEvent")));
|
||||
groupEvents.addAll(eventService.translateEventDTOs(eventRepository.findAllEventsByType("UpdateGroupTitleEvent")));
|
||||
groupEvents.addAll(eventService.translateEventDTOs(eventRepository.findAllEventsByType("DeleteGroupEvent")));
|
||||
groupEvents.addAll(eventService.translateEventDTOs(eventRepository.findAllEventsByType("UpdateUserMaxEvent")));
|
||||
List<Event> groupEvents = eventService.getEventsFromDTOs(eventRepository.findAllEventsByType("CreateGroupEvent"));
|
||||
groupEvents.addAll(eventService.getEventsFromDTOs(eventRepository.findAllEventsByType("UpdateGroupDescriptionEvent")));
|
||||
groupEvents.addAll(eventService.getEventsFromDTOs(eventRepository.findAllEventsByType("UpdateGroupTitleEvent")));
|
||||
groupEvents.addAll(eventService.getEventsFromDTOs(eventRepository.findAllEventsByType("DeleteGroupEvent")));
|
||||
groupEvents.addAll(eventService.getEventsFromDTOs(eventRepository.findAllEventsByType("UpdateUserMaxEvent")));
|
||||
|
||||
List<Group> visibleGroups = projectEventList(groupEvents);
|
||||
|
||||
@ -108,10 +108,10 @@ public class GroupService {
|
||||
* @return List of groups
|
||||
*/
|
||||
public List<Group> getAllLecturesWithVisibilityPublic() {
|
||||
List<Event> createEvents = eventService.translateEventDTOs(eventRepository.findAllEventsByType("CreateGroupEvent"));
|
||||
createEvents.addAll(eventService.translateEventDTOs(eventRepository.findAllEventsByType("DeleteGroupEvent")));
|
||||
createEvents.addAll(eventService.translateEventDTOs(eventRepository.findAllEventsByType("UpdateGroupTitleEvent")));
|
||||
createEvents.addAll(eventService.translateEventDTOs(eventRepository.findAllEventsByType("DeleteGroupEvent")));
|
||||
List<Event> createEvents = eventService.getEventsFromDTOs(eventRepository.findAllEventsByType("CreateGroupEvent"));
|
||||
createEvents.addAll(eventService.getEventsFromDTOs(eventRepository.findAllEventsByType("DeleteGroupEvent")));
|
||||
createEvents.addAll(eventService.getEventsFromDTOs(eventRepository.findAllEventsByType("UpdateGroupTitleEvent")));
|
||||
createEvents.addAll(eventService.getEventsFromDTOs(eventRepository.findAllEventsByType("DeleteGroupEvent")));
|
||||
|
||||
List<Group> visibleGroups = projectEventList(createEvents);
|
||||
|
||||
|
||||
@ -69,7 +69,7 @@ class EventServiceTest {
|
||||
void getDTO() {
|
||||
Event event = createPublicGroupEvent();
|
||||
|
||||
EventDTO dto = eventService.getDTO(event);
|
||||
EventDTO dto = eventService.getDTOFromEvent(event);
|
||||
|
||||
assertThat(dto.getGroup_id()).isEqualTo(event.getGroupId().toString());
|
||||
assertThat(dto.getUser_id()).isEqualTo(event.getUserId());
|
||||
|
||||
Reference in New Issue
Block a user