Examples of SubscriptionInfo


Examples of org.olat.core.util.notifications.SubscriptionInfo

  public String getTitleAsTxt(Subscriber sub) {
    return getTitle(sub, SubscriptionInfo.MIME_PLAIN);
  }

  private String getTitle(Subscriber sub, String mimeType) {
    SubscriptionInfo subsInfo = subsInfoMap.get(sub);
    if (subsInfo == null) return "";
    return subsInfo.getTitle(mimeType);
  }
View Full Code Here

Examples of org.olat.core.util.notifications.SubscriptionInfo

    if (subsInfo == null) return "";
    return subsInfo.getTitle(mimeType);
  }
 
  public String getCustomUrl(Subscriber sub) {
    SubscriptionInfo subsInfo = subsInfoMap.get(sub);
    return subsInfo.getCustomUrl();
  }
View Full Code Here

Examples of org.olat.core.util.notifications.SubscriptionInfo

public class CalendarNotificationHandler extends LogDelegator implements NotificationsHandler {

  private static final String CSS_CLASS_CALENDAR_ICON = "o_calendar_icon";

  public SubscriptionInfo createSubscriptionInfo(Subscriber subscriber, Locale locale, Date compareDate) {
    SubscriptionInfo si = null;
    Publisher p = subscriber.getPublisher();
    Date latestNews = p.getLatestNewsDate();

    // do not try to create a subscription info if state is deleted - results in
    // exceptions, course
    // can't be loaded when already deleted
    if (NotificationsManager.getInstance().isPublisherValid(p) && compareDate.before(latestNews)) {
      Long id = p.getResId();
      String type = p.getSubidentifier();

      try {
        Translator translator = Util.createPackageTranslator(this.getClass(), locale);
       
        String calType = null;
        String title = null;
        if (type.equals(CalendarController.ACTION_CALENDAR_COURSE)) {
          String displayName = RepositoryManager.getInstance().lookupDisplayNameByOLATResourceableId(id);
          calType = CalendarManager.TYPE_COURSE;
          title = translator.translate("cal.notifications.header.course", new String[]{displayName});
        } else if (type.equals(CalendarController.ACTION_CALENDAR_GROUP)) {
          BusinessGroup group = BusinessGroupManagerImpl.getInstance().loadBusinessGroup(id, false);
          calType = CalendarManager.TYPE_GROUP;
          title = translator.translate("cal.notifications.header.group", new String[]{group.getName()});
        }

        if (calType != null) {
          Formatter form = Formatter.getInstance(locale);
          si = new SubscriptionInfo(new TitleItem(title, CSS_CLASS_CALENDAR_ICON), null);
         
          String bPath;
          if(StringHelper.containsNonWhitespace(p.getBusinessPath())) {
            bPath = p.getBusinessPath();
          } else if("CalendarManager.course".equals(p.getResName())) {
            try {
              ICourse course = CourseFactory.loadCourse(p.getResId());
              RepositoryEntry re = RepositoryManager.getInstance().lookupRepositoryEntry(course, true);
              bPath = "[RepositoryEntry:" + re.getKey() + "]";//Fallback
            } catch (Exception e) {
              logError("Error processing calendar notifications of publisher:" + p.getKey(), e);
              return NotificationsManager.getInstance().getNoSubscriptionInfo();
            }
          } else {
            //cannot make link without business path
            return NotificationsManager.getInstance().getNoSubscriptionInfo();
          }
 
          Kalendar cal = CalendarManagerFactory.getInstance().getCalendarManager().getCalendar(calType, id.toString());
          Collection<KalendarEvent> calEvents = cal.getEvents();
          for (KalendarEvent kalendarEvent : calEvents) {
            if (showEvent(compareDate, kalendarEvent)) {
              logDebug("found a KalendarEvent: " + kalendarEvent.getSubject() + " with time: " + kalendarEvent.getBegin()
                  + " modified before: " + compareDate.toString(), null);
              // found a modified event in this calendar
              Date modDate = null;
              if(kalendarEvent.getLastModified() > 0) {
                modDate = new Date(kalendarEvent.getLastModified());
              } else if(kalendarEvent.getCreated() > 0) {
                modDate = new Date(kalendarEvent.getCreated());
              } else if(kalendarEvent.getBegin() != null) {
                modDate = kalendarEvent.getBegin();
              }
             
              String subject = kalendarEvent.getSubject();
              String location = kalendarEvent.getLocation() == null ? "" : translator.translate("cal.notifications.location",
                  new String[] { kalendarEvent.getLocation() });
              String dateStr;
              if (kalendarEvent.isAllDayEvent()) {
                dateStr = form.formatDate(kalendarEvent.getBegin());
              } else {
                dateStr = form.formatDate(kalendarEvent.getBegin()) + " - " + form.formatDate(kalendarEvent.getEnd());
              }
              String desc = translator.translate("cal.notifications.entry", new String[] { subject, dateStr, location });
              String businessPath = bPath + "[path=" + kalendarEvent.getID() + ":0]";
              String urlToSend = NotificationHelper.getURLFromBusinessPathString(p, businessPath);
              SubscriptionListItem subListItem = new SubscriptionListItem(desc, urlToSend, modDate, CSS_CLASS_CALENDAR_ICON);
              si.addSubscriptionListItem(subListItem);
            }
          }
        }
      } catch (Exception e) {
        logError("Unexpected exception", e);
View Full Code Here

Examples of org.xmlBlaster.engine.SubscriptionInfo

    * Invoked when a subscriber is added to the TopicHandler
    * @param subscriptionInfo
    */
   public void subscriptionAdd(SubscriptionEvent e)
      throws XmlBlasterException {
      SubscriptionInfo subscriptionInfo = e.getSubscriptionInfo();
      if (log.isLoggable(Level.FINER)) log.finer("onAddSubscriber");
      DispatchManager dispatchManager = getDispatchManager(subscriptionInfo);
      if (dispatchManager != null) dispatchManager.addConnectionStatusListener(this);
      this.isReady = true;
      toRunning();
View Full Code Here

Examples of org.xmlBlaster.engine.SubscriptionInfo

   /**
    * Invoked when a subscriber is removed from the TopicHandler
    * @param subscriptionInfo
    */
   public void subscriptionRemove(SubscriptionEvent e) throws XmlBlasterException {
      SubscriptionInfo subscriptionInfo = e.getSubscriptionInfo();
      if (log.isLoggable(Level.FINER)) log.finer("onRemoveSubscriber");
      DispatchManager dispatchManager = getDispatchManager(subscriptionInfo);
      if (dispatchManager != null) dispatchManager.removeConnectionStatusListener(this);
   }
View Full Code Here

Examples of org.xmlBlaster.engine.SubscriptionInfo

         // If we would iterate over the map directly we can risk a java.util.ConcurrentModificationException
         // when one of the callback fails and the entry is removed by the callback worker thread

         SubscriptionInfo[] subInfoArr = (SubscriptionInfo[])subInfoList.toArray(new SubscriptionInfo[subInfoList.size()]);
         for (int ii=0; ii<subInfoArr.length; ii++) {
            SubscriptionInfo sub = subInfoArr[ii];
            if (TopicHandler.isDirtyRead(sub, msgUnitWrapper)) {
               log.severe("ConsumableQueuePlugin used together with 'dirtyRead' is not supported");
               TopicHandler topicHandler = this.serverScope.getTopicAccessor().access(this.topicId);
               if (topicHandler == null) return true;
               try {
                  I_Queue srcQueue = topicHandler.getHistoryQueue();
                  if (srcQueue != null) srcQueue.removeRandom(entry);
               }
               finally {
                  this.serverScope.getTopicAccessor().release(topicHandler);
               }
               return true; // even if it has not been sent
            }
         }  

         for (int ii=0; ii<subInfoArr.length; ii++) {
            SubscriptionInfo sub = subInfoArr[ii];
           
            if (!TopicHandler.subscriberMayReceiveIt(sub, msgUnitWrapper)) continue;
            //Has no effect:
            //if (!this.topicHandler.checkIfAllowedToSend(null, sub)) continue;

            // this is specific for this plugin
            if (sub.getSessionInfo().getDispatchManager() == null) continue;
            if (!sub.getSessionInfo().getDispatchManager().getDispatchConnectionsHandler().isAlive()) continue;

            try {

               try {
                  TopicHandler topicHandler = this.serverScope.getTopicAccessor().access(this.topicId);
View Full Code Here

Examples of org.xmlBlaster.engine.SubscriptionInfo

      else if (registerKey.equals(ContextNode.SUBSCRIPTION_MARKER_TAG)) { // "subscription"
         String subscriptionId = cmd.getUserNameLevel();
         if (subscriptionId == null || subscriptionId.length() < 1 || subscriptionId.startsWith("?"))
            throw new XmlBlasterException(glob, ErrorCode.USER_ILLEGALARGUMENT, ME, "Please pass a command which has a valid subscriptionId in '" + cmd.getCommand() + "' with '" + subscriptionId + "' is invalid");

         SubscriptionInfo subscriptionInfo = glob.getRequestBroker().getClientSubscriptions().getSubscription(subscriptionId);
         if (subscriptionInfo == null)
            throw new XmlBlasterException(glob, ErrorCode.USER_ILLEGALARGUMENT, ME, "Please pass a command which has a valid subscriptionId in '" + cmd.getCommand() + "' subscriptionId '" + subscriptionId + "' is unknown");

         String methodName = cmd.getFifthLevel();
         if (methodName == null || methodName.length() < 1)
View Full Code Here

Examples of org.xmlBlaster.engine.SubscriptionInfo

      for (int i=0; i<holderList.size(); i++) {
         Holder holder = (Holder)holderList.get(i);

         // Pass subscribeQos or connectQos - clientProperties to exportMessage() in case there are
         // some interesting settings provided, for example a desired XSL transformation
         SubscriptionInfo subscriptionInfo = null;
         Map map = null;
         if (holder.subscriptionId != null) {
            subscriptionInfo = scope.getRequestBroker().getClientSubscriptions().getSubscription(holder.subscriptionId);
            if (subscriptionInfo != null)
               map = subscriptionInfo.getQueryQosDataClientProperties();
            //String xslFileName = subscriptionInfo.getQueryQosData().getClientProperty("__xslTransformerFileName", (String)null);
         }
         else {
            // todo: use map=ConnectQos.getClientProperties() as a map to pass to dataHolder
         }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.