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;
|
import java.util.List;
|
||||||
|
|
||||||
@Repository
|
@Repository
|
||||||
//TODO Rename Queries + Formatting
|
|
||||||
public interface EventRepository extends CrudRepository<EventDTO, Long> {
|
public interface EventRepository extends CrudRepository<EventDTO, Long> {
|
||||||
|
|
||||||
@Query("select distinct group_id from event where user_id =:id")
|
@Query("select distinct group_id from event where user_id =:id AND event_type = AddUserEvent")
|
||||||
List<String> findGroup_idsWhereUser_id(@Param("id") String userId);
|
List<String> findGroupIdsWhereUserId(@Param("id") String userId);
|
||||||
|
|
||||||
@Query("select * from event where group_id =:id")
|
@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]}")
|
//@Query("SELECT * FROM event WHERE event_id > ?#{[0]}")
|
||||||
//Iterable<EventDTO> findNewEventSinceStatus(@Param("status") Long status);
|
//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);
|
List<EventDTO> findAllEventsOfGroups(@Param("groupIds") List<String> groupIds);
|
||||||
|
|
||||||
@Query("SELECT MAX(event_id) FROM event")
|
@Query("SELECT MAX(event_id) FROM event")
|
||||||
Long getHighesEvent_ID();
|
Long getHighesEventID();
|
||||||
|
|
||||||
@Query("SELECT * FROM event WHERE event_type = :type")
|
@Query("SELECT * FROM event WHERE event_type = :type")
|
||||||
List<EventDTO> findAllEventsByType(@Param("type") String type);
|
List<EventDTO> findAllEventsByType(@Param("type") String type);
|
||||||
|
|||||||
@ -29,20 +29,24 @@ public class EventService {
|
|||||||
* @param event Event, welches gespeichert wird
|
* @param event Event, welches gespeichert wird
|
||||||
*/
|
*/
|
||||||
public void saveEvent(Event event) {
|
public void saveEvent(Event event) {
|
||||||
eventStore.save(getDTO(event));
|
eventStore.save(getDTOFromEvent(event));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void saveAll(Event... events) {
|
public void saveAll(Event... events) {
|
||||||
for (Event 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
|
@SafeVarargs
|
||||||
public final void saveAll(List<Event>... events) {
|
public final void saveAll(List<Event>... events) {
|
||||||
for (List<Event> eventlist : events) {
|
for (List<Event> eventlist : events) {
|
||||||
for (Event event : eventlist) {
|
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.
|
* Ist die Gruppe öffentlich, dann wird die visibility auf true gesetzt.
|
||||||
*
|
*
|
||||||
* @param event Event, welches in DTO übersetzt wird
|
* @param event Event, welches in DTO übersetzt wird
|
||||||
* @return EventDTO Neues DTO
|
* @return EventDTO (Neues DTO)
|
||||||
*/
|
*/
|
||||||
//TODO Rename: getDTOFromEvent?
|
public EventDTO getDTOFromEvent(Event event) {
|
||||||
public EventDTO getDTO(Event event) {
|
|
||||||
String payload = "";
|
String payload = "";
|
||||||
try {
|
try {
|
||||||
payload = jsonService.serializeEvent(event);
|
payload = jsonService.serializeEvent(event);
|
||||||
@ -66,6 +69,11 @@ public class EventService {
|
|||||||
return new EventDTO(null, event.getGroupId().toString(), event.getUserId(), getEventType(event), payload);
|
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) {
|
private String getEventType(Event event) {
|
||||||
int lastDot = event.getClass().getName().lastIndexOf('.');
|
int lastDot = event.getClass().getName().lastIndexOf('.');
|
||||||
|
|
||||||
@ -83,7 +91,7 @@ public class EventService {
|
|||||||
List<String> groupIdsThatChanged = eventStore.findNewEventSinceStatus(status);
|
List<String> groupIdsThatChanged = eventStore.findNewEventSinceStatus(status);
|
||||||
|
|
||||||
List<EventDTO> groupEventDTOS = eventStore.findAllEventsOfGroups(groupIdsThatChanged);
|
List<EventDTO> groupEventDTOS = eventStore.findAllEventsOfGroups(groupIdsThatChanged);
|
||||||
return translateEventDTOs(groupEventDTOS);
|
return getEventsFromDTOs(groupEventDTOS);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -92,8 +100,7 @@ public class EventService {
|
|||||||
* @param eventDTOS Liste von DTOs
|
* @param eventDTOS Liste von DTOs
|
||||||
* @return Liste von Events
|
* @return Liste von Events
|
||||||
*/
|
*/
|
||||||
//TODO Rename: getEventsFromDTO?
|
public List<Event> getEventsFromDTOs(Iterable<EventDTO> eventDTOS) {
|
||||||
public List<Event> translateEventDTOs(Iterable<EventDTO> eventDTOS) {
|
|
||||||
List<Event> events = new ArrayList<>();
|
List<Event> events = new ArrayList<>();
|
||||||
|
|
||||||
for (EventDTO eventDTO : eventDTOS) {
|
for (EventDTO eventDTO : eventDTOS) {
|
||||||
@ -107,21 +114,36 @@ public class EventService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Long getMaxEvent_id() {
|
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) {
|
public List<Event> getEventsOfGroup(UUID groupId) {
|
||||||
List<EventDTO> eventDTOList = eventStore.findEventDTOByGroup_id(groupId.toString());
|
List<EventDTO> eventDTOList = eventStore.findEventDTOByGroupId(groupId.toString());
|
||||||
return translateEventDTOs(eventDTOList);
|
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) {
|
public List<UUID> findGroupIdsByUser(String userId) {
|
||||||
return eventStore.findGroup_idsWhereUser_id(userId).stream()
|
return eventStore.findGroupIdsWhereUserId(userId).stream()
|
||||||
.map(UUID::fromString)
|
.map(UUID::fromString)
|
||||||
.collect(Collectors.toList());
|
.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) {
|
public boolean userInGroup(UUID groupId, String userId) {
|
||||||
return eventStore.countEventsByGroupIdAndUserIdAndEventType(groupId.toString(), userId, "AddUserEvent")
|
return eventStore.countEventsByGroupIdAndUserIdAndEventType(groupId.toString(), userId, "AddUserEvent")
|
||||||
> eventStore.countEventsByGroupIdAndUserIdAndEventType(groupId.toString(), userId, "DeleteUserEvent");
|
> eventStore.countEventsByGroupIdAndUserIdAndEventType(groupId.toString(), userId, "DeleteUserEvent");
|
||||||
|
|||||||
@ -39,9 +39,9 @@ public class GroupService {
|
|||||||
public List<Event> getGroupEvents(List<UUID> groupIds) {
|
public List<Event> getGroupEvents(List<UUID> groupIds) {
|
||||||
List<EventDTO> eventDTOS = new ArrayList<>();
|
List<EventDTO> eventDTOS = new ArrayList<>();
|
||||||
for (UUID groupId : groupIds) {
|
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
|
//TODO Rename
|
||||||
public List<Group> getAllGroupWithVisibilityPublic(String userId) throws EventException {
|
public List<Group> getAllGroupWithVisibilityPublic(String userId) throws EventException {
|
||||||
List<Event> groupEvents = eventService.translateEventDTOs(eventRepository.findAllEventsByType("CreateGroupEvent"));
|
List<Event> groupEvents = eventService.getEventsFromDTOs(eventRepository.findAllEventsByType("CreateGroupEvent"));
|
||||||
groupEvents.addAll(eventService.translateEventDTOs(eventRepository.findAllEventsByType("UpdateGroupDescriptionEvent")));
|
groupEvents.addAll(eventService.getEventsFromDTOs(eventRepository.findAllEventsByType("UpdateGroupDescriptionEvent")));
|
||||||
groupEvents.addAll(eventService.translateEventDTOs(eventRepository.findAllEventsByType("UpdateGroupTitleEvent")));
|
groupEvents.addAll(eventService.getEventsFromDTOs(eventRepository.findAllEventsByType("UpdateGroupTitleEvent")));
|
||||||
groupEvents.addAll(eventService.translateEventDTOs(eventRepository.findAllEventsByType("DeleteGroupEvent")));
|
groupEvents.addAll(eventService.getEventsFromDTOs(eventRepository.findAllEventsByType("DeleteGroupEvent")));
|
||||||
groupEvents.addAll(eventService.translateEventDTOs(eventRepository.findAllEventsByType("UpdateUserMaxEvent")));
|
groupEvents.addAll(eventService.getEventsFromDTOs(eventRepository.findAllEventsByType("UpdateUserMaxEvent")));
|
||||||
|
|
||||||
List<Group> visibleGroups = projectEventList(groupEvents);
|
List<Group> visibleGroups = projectEventList(groupEvents);
|
||||||
|
|
||||||
@ -108,10 +108,10 @@ public class GroupService {
|
|||||||
* @return List of groups
|
* @return List of groups
|
||||||
*/
|
*/
|
||||||
public List<Group> getAllLecturesWithVisibilityPublic() {
|
public List<Group> getAllLecturesWithVisibilityPublic() {
|
||||||
List<Event> createEvents = eventService.translateEventDTOs(eventRepository.findAllEventsByType("CreateGroupEvent"));
|
List<Event> createEvents = eventService.getEventsFromDTOs(eventRepository.findAllEventsByType("CreateGroupEvent"));
|
||||||
createEvents.addAll(eventService.translateEventDTOs(eventRepository.findAllEventsByType("DeleteGroupEvent")));
|
createEvents.addAll(eventService.getEventsFromDTOs(eventRepository.findAllEventsByType("DeleteGroupEvent")));
|
||||||
createEvents.addAll(eventService.translateEventDTOs(eventRepository.findAllEventsByType("UpdateGroupTitleEvent")));
|
createEvents.addAll(eventService.getEventsFromDTOs(eventRepository.findAllEventsByType("UpdateGroupTitleEvent")));
|
||||||
createEvents.addAll(eventService.translateEventDTOs(eventRepository.findAllEventsByType("DeleteGroupEvent")));
|
createEvents.addAll(eventService.getEventsFromDTOs(eventRepository.findAllEventsByType("DeleteGroupEvent")));
|
||||||
|
|
||||||
List<Group> visibleGroups = projectEventList(createEvents);
|
List<Group> visibleGroups = projectEventList(createEvents);
|
||||||
|
|
||||||
|
|||||||
@ -69,7 +69,7 @@ class EventServiceTest {
|
|||||||
void getDTO() {
|
void getDTO() {
|
||||||
Event event = createPublicGroupEvent();
|
Event event = createPublicGroupEvent();
|
||||||
|
|
||||||
EventDTO dto = eventService.getDTO(event);
|
EventDTO dto = eventService.getDTOFromEvent(event);
|
||||||
|
|
||||||
assertThat(dto.getGroup_id()).isEqualTo(event.getGroupId().toString());
|
assertThat(dto.getGroup_id()).isEqualTo(event.getGroupId().toString());
|
||||||
assertThat(dto.getUser_id()).isEqualTo(event.getUserId());
|
assertThat(dto.getUser_id()).isEqualTo(event.getUserId());
|
||||||
|
|||||||
Reference in New Issue
Block a user