public void executeTest() {
   publishEvents();
   updateNotificationEventDate(actions);
   notificationServiceImpl.notifySubscribers();
   userStatisticMap = mailServiceConcordionMock.getUserStatisticMap();
   String body =
       ((MailServiceConcordionMock.UserNotifyStatistic) userStatisticMap.get("Alf")).mailBody;
 }
  private void publishEvents() {
    for (ActionEntry action : actions.values()) {

      PublishEventTO publishEventTO =
          PublishEventTO.getValidInstance(
              publishers.get(action.publisherId).publisher.getContextType(),
              publishers.get(action.publisherId).publisher.getContextId(),
              publishers.get(action.publisherId).contextTitle,
              publishers.get(action.publisherId).publisher.getSubcontextId(),
              publishers.get(action.publisherId).publisher.getSourceType(),
              publishers.get(action.publisherId).publisher.getSourceId(),
              publishers.get(action.publisherId).sourceTitle,
              action.title,
              subscribers.get(action.subscriberId).subscriber.getIdentity(),
              getEventType(action.eventType));
      publishEventTO.setSourceEntryId(action.messageId);
      notificationServiceImpl.publishEvent(publishEventTO);
    }
  }
Exemplo n.º 3
0
 public ServiceResult<Void> untagProductToPage(Long pageID, Long productID) {
   ServiceResult<Void> result = new ServiceResult<Void>();
   Page page = null;
   Product product = null;
   PersistenceManager pm = PMF.get().getPersistenceManager();
   try {
     page = pm.getObjectById(Page.class, pageID);
     product = pm.getObjectById(Product.class, productID);
     if (page == null || product == null) {
       result.setMessage(Global.messages.getString("no_page_or_product"));
     } else {
       page.getSetProduct().remove(productID);
       product.getSetPagesID().remove(pageID);
       result.setOK(true);
       result.setMessage(Global.messages.getString("untag_product_into_page_successfully"));
     }
   } catch (Exception e) {
     e.printStackTrace();
     result.setMessage(Global.messages.getString("untag_product_into_page_fail"));
   } finally {
     try {
       pm.close();
     } catch (Exception e) {
       e.printStackTrace();
     }
   }
   if (result.isOK()) {
     ServiceResult<Void> notiResult =
         dbNoti.insertWhenUserTagProductToPage(pageID, productID, false);
     if (notiResult.isOK() == false) {
       result.setMessage(
           result.getMessage() + ";Notification Exception:" + notiResult.getMessage());
     }
   }
   return result;
 }
Exemplo n.º 4
0
 public ServiceResult<Set<String>> tagFriendToPage(
     long pageID, String[] usernames, String username) {
   ServiceResult<Set<String>> result = new ServiceResult<Set<String>>();
   result.setOK(true);
   PersistenceManager pm = null;
   UserInfo user = null;
   Page page = null;
   try {
     pm = PMF.get().getPersistenceManager();
     page = pm.getObjectById(Page.class, pageID);
     if (page == null) {
       result.setOK(false);
       result.setMessage(Global.messages.getString("no_page_found"));
     } else {
       if (!page.getUsername().equals(username)) {
         result.setOK(false);
         result.setMessage(
             String.format(Global.messages.getString("no_permission_to_tag_to_page"), username));
       } else {
         ServiceResult<Void> notiResult = null;
         for (String user2Tag : usernames) {
           try {
             if (page.getSetFriendsTaggedID().contains(user2Tag)) {
               result.setOK(false);
               result.setMessage(
                   result.getMessage()
                       + ";"
                       + String.format(
                           Global.messages.getString("already_tag_user_to_page"),
                           user2Tag,
                           pageID));
             } else {
               user = pm.getObjectById(UserInfo.class, user2Tag);
               page.getSetFriendsTaggedID().add(user2Tag);
               user.getSetPageTaggedID().add(pageID);
               result.setMessage(
                   result.getMessage()
                       + ";"
                       + String.format(
                           Global.messages.getString("tag_user_to_page_successfully"),
                           user2Tag,
                           pageID));
               // notification
               notiResult = dbNoti.insertWhenTagUserToPage(pageID, user2Tag, true);
               if (notiResult.isOK() == false) {
                 result.setMessage(
                     result.getMessage() + ";Notification Exception:" + notiResult.getMessage());
               }
             }
           } catch (Exception e) {
             e.printStackTrace();
             result.setOK(false);
             result.setMessage(
                 result.getMessage()
                     + ";"
                     + String.format(
                         Global.messages.getString("tag_user_to_page_fail"), user2Tag, pageID));
           }
         }
         // if (result.isOK()) {
         // result.setMessage("Tag friends thanh cong");
         // }
       }
     }
   } catch (Exception e) {
     e.printStackTrace();
     result.setMessage(Global.messages.getString("tag_friend_to_page_fail"));
   } finally {
     try {
       pm.close();
     } catch (Exception e) {
       e.printStackTrace();
     }
   }
   if (result.isOK()) {
     result.setResult(page.getSetFriendsTaggedID());
   }
   return result;
 }
Exemplo n.º 5
0
 private PageServiceImpl() {
   instance = this;
   dbNoti = NotificationServiceImpl.getInstance();
   dbAccount = AccountServiceImpl.getInstance();
 }