@Override public NotificationEntity addNotification(String userId, Notification notification) { try { String notificationEventSerialized = objectMapper.writeValueAsString(notification); String notificationString = notificationEventSerialized; NotificationEntity notificationEntity = getFreshNotification(userId); Set<String> notifications = notificationEntity.getNotifications(); notifications.add(notificationString); return savenotification(notificationEntity); } catch (Exception e) { e.printStackTrace(); return null; } }
@Override public void moveNotification(String userId) { NotificationEntity freshNotificationEntity = notificationRepository.getFreshNotificationForUser( userId, NotificationType.FRESH.toString()); NotificationEntity pastNotificationEntity = notificationRepository.getFreshNotificationForUser( userId, NotificationType.PAST.toString()); pastNotificationEntity.getNotifications().addAll(freshNotificationEntity.getNotifications()); savenotification(pastNotificationEntity); freshNotificationEntity.getNotifications().clear(); savenotification(freshNotificationEntity); }
@Override public List<Notification> getNotifications(String userId, String filter) { List<Notification> notifications = new ArrayList<Notification>(); Set<String> notificationsSet = new HashSet<String>(); if (filter.equalsIgnoreCase("all")) { List<NotificationEntity> notificationEntity = notificationRepository.getAllNotificationForUser(userId); for (NotificationEntity eachNotificationEntity : notificationEntity) { notificationsSet.addAll(eachNotificationEntity.getNotifications()); } for (String eachNotification : notificationsSet) { try { System.out.println("each notification" + eachNotification); Notification notificationDeserialised = objectMapper.readValue(eachNotification, Notification.class); notifications.add(notificationDeserialised); } catch (Exception e) { e.printStackTrace(); } } } else { NotificationEntity notificationEntity = notificationRepository.getFreshNotificationForUser( userId, NotificationType.FRESH.toString()); notificationsSet.addAll(notificationEntity.getNotifications()); for (String eachNotification : notificationsSet) { try { System.out.println("each notification" + eachNotification); Notification notificationDeserialised = objectMapper.readValue(eachNotification, Notification.class); notifications.add(notificationDeserialised); } catch (Exception e) { e.printStackTrace(); } } } return notifications; }