예제 #1
0
 private void unsubscribeAll(String email, String key) {
   email = email.toLowerCase();
   Set<Subscription> subscriptions = subscriptionDao.getSubscriptionsBySubscribersEmail(email);
   if (subscriptions.isEmpty()) {
     log.debug(email, "is not subscribed to anything");
     return;
   }
   for (Subscription subscription : subscriptions) {
     subscription.removeSubscribersEmail(email);
   }
   log.info(email, "unsubscribed from", subscriptions.size(), "entities");
 }
예제 #2
0
 public void unsubscribe(String email, AEntity subject, String key) throws InvalidKeyException {
   email = email.toLowerCase();
   if (!createKey(email).equals(key)) throw new InvalidKeyException(email);
   if (subject == null) {
     unsubscribeAll(email, key);
     return;
   }
   Subscription subscription = subscriptionDao.getSubscriptionBySubject(subject);
   if (subscription == null || !subscription.containsSubscribersEmail(email)) {
     log.debug(email, "is not subscribed to", subject);
     return;
   }
   subscription.removeSubscribersEmail(email);
   log.info(email, "unsubscribed from", subject);
 }