Examples of KalendarEvent


Examples of org.olat.commons.calendar.model.KalendarEvent

        for (Iterator iter = selectedNodesIDS.iterator(); iter.hasNext();) {
          String nodeId = (String)iter.next();
          GenericTreeNode node = (GenericTreeNode)model.getNodeById(nodeId);
          KalendarRenderWrapper calendarWrapper = (KalendarRenderWrapper)node.getUserObject();
          Kalendar cal = calendarWrapper.getKalendar();
          KalendarEvent clonedKalendarEvent = (KalendarEvent)XStreamHelper.xstreamClone(kalendarEvent);
          if (clonedKalendarEvent.getKalendarEventLinks().size() != 0)
            clonedKalendarEvent.setKalendarEventLinks(new ArrayList());
          calendarManager.addEventTo(cal, clonedKalendarEvent);
//          calendarManager.persistCalendar(cal);     
        }
        fireEvent(ureq, Event.DONE_EVENT);
      } else {
View Full Code Here

Examples of org.olat.commons.calendar.model.KalendarEvent

      Date periodEnd = cal.getTime();
      // render daylong events
      int maxDayEventsThisDay = 0;
      for (Iterator iter = sortedAllDayEventsForWeek.iterator(); iter.hasNext();) {
        KalendarEventRenderWrapper eventWrapper = (KalendarEventRenderWrapper) iter.next();
        KalendarEvent event = eventWrapper.getEvent();
        // skip if not within period
        if (event.getEnd().compareTo(periodBegin) < 0 || event.getBegin().compareTo(periodEnd) >= 0) continue;
        // increment count of number of dayevents
        maxDayEventsThisDay++;
        boolean hideSubject = eventWrapper.getCalendarAccess() == KalendarRenderWrapper.ACCESS_READ_ONLY && !eventWrapper.getKalendarRenderWrapper().isImported() && event.getClassification() != KalendarEvent.CLASS_PUBLIC;
        String escapedSubject = Formatter.escWithBR(event.getSubject()).toString();
       
        inset.append("<div class=\"o_cal_wv_devent_wrapper\">");
        inset.append("<div class=\"o_cal_wv_devent ").append(eventWrapper.getKalendarRenderWrapper().getKalendarConfig().getCss()).append("\">");
        inset.append("<div class=\"o_cal_wv_devent_content\">");
        inset.append("<a href=\"");
        ubu.buildURI(inset, new String[] {WeeklyCalendarComponent.ID_CMD, WeeklyCalendarComponent.ID_PARAM},
            new String[] {WeeklyCalendarComponent.CMD_EDIT, event.getCalendar().getCalendarID() + WeeklyCalendarComponent.ID_PARAM_SEPARATOR + event.getID() + WeeklyCalendarComponent.ID_PARAM_SEPARATOR + event.getBegin().getTime()},
            isIframePostEnabled ? AJAXFlags.MODE_TOBGIFRAME : AJAXFlags.MODE_NORMAL);
        inset.append("\" ");
        if (isIframePostEnabled) {
          ubu.appendTarget(inset);
        }
View Full Code Here

Examples of org.olat.commons.calendar.model.KalendarEvent

    for (int dayCounter = 0; dayCounter < days; dayCounter++) {
      // collect all events for actual day
      List sortedEventsOfDay = new ArrayList();
      for (Iterator iter = sortedEventsWithinWeek.iterator(); iter.hasNext();) {
        KalendarEventRenderWrapper eventWrapper = (KalendarEventRenderWrapper) iter.next();
        KalendarEvent nextEvent = eventWrapper.getEvent();
        if (nextEvent.getEnd().before(periodStart) || nextEvent.getBegin().after(periodEnd)) continue;
        sortedEventsOfDay.add(eventWrapper);
      }
      // not that eventWrappers may get re-used if it is a multi-day event
      renderEventsForDay(sortedEventsOfDay, periodStart, dayCounter, sb, ubu, locale);
     
View Full Code Here

Examples of org.olat.commons.calendar.model.KalendarEvent

    long latestEndPointForGroup = -1;
   
    // Iterate over all events
    for (int eventCounter = 0; eventCounter < sortedEvents.size(); eventCounter++) {
      KalendarEventRenderWrapper eventWrapper = (KalendarEventRenderWrapper)sortedEvents.get(eventCounter);
      KalendarEvent event = eventWrapper.getEvent();
      // get relative begin / end of event in millis
      long eventBeginRelativeMillis = event.getBegin().getTime() - startDateLong;
      // if begin is before our start period, correct
      if (eventBeginRelativeMillis < 0) eventBeginRelativeMillis = 0;
      long eventEndRelativeMillis = event.getEnd().getTime() - startDateLong;
      // if end relative greater than one day, correct
      if (eventEndRelativeMillis > (1000 * 60 * 60 * 24)) eventEndRelativeMillis = (1000 * 60 * 60 * 24);
     
      // first, cleanup slot group if we reach new, completely empty slot row
      if (eventBeginRelativeMillis > latestEndPointForGroup) {
        // reset slotGroup and slotEndPointsList
        slotGroup = new ArrayList();
        slotEndPointsList = new ArrayList();
        slotEndPointsList.add(new Long(-1));
        maxSlotsForGroup = 1;
      }
     
      // search for a slot which matches relative begin and mark it in the slot list
      boolean foundSlot = false;
      int nextFreeSlot = 0;
      for (; nextFreeSlot < slotEndPointsList.size(); nextFreeSlot++) {
        Long slotEnd = (Long)slotEndPointsList.get(nextFreeSlot);
        if (slotEnd.longValue() <= eventBeginRelativeMillis) {
          foundSlot = true;
          break;
        }
      }
      if (!foundSlot) {
        // no free slots, open a new slot
        // register end point
        slotEndPointsList.add(new Long(eventEndRelativeMillis));
        // correct max slot width for all in slot group
        maxSlotsForGroup++;
        for (Iterator iter = slotGroup.iterator(); iter.hasNext();) {
          KalendarEventRenderWrapper rw = (KalendarEventRenderWrapper) iter.next();
          rw.setMaxSlots(maxSlotsForGroup);
        }
      } else {
        // mark slot end point
        slotEndPointsList.set(nextFreeSlot, new Long(eventEndRelativeMillis));
      }

      // add to slot group
      slotGroup.add(eventWrapper);
      // mark latest end point of slot group
      if (latestEndPointForGroup < eventEndRelativeMillis)
        latestEndPointForGroup = eventEndRelativeMillis;
      // set assigned slot
      eventWrapper.setAssignedSlot(nextFreeSlot);
      // set max slots
      eventWrapper.setMaxSlots(maxSlotsForGroup);

     
      // see how much we can expand to the east
      // note that this makes it n*(n-1) loops. Remove this to have linear times
      int maxExpandToEast = maxSlotsForGroup - nextFreeSlot;
      for (Iterator iter = slotGroup.iterator(); iter.hasNext();) {
        KalendarEventRenderWrapper rw2 = (KalendarEventRenderWrapper) iter.next();
        // skip all slots which are to the west
        if (rw2.getAssignedSlot() <= eventWrapper.getAssignedSlot()) continue;
        // skip if we don't collide with the event
        if (rw2.getEvent().getEnd().before(event.getBegin())) continue;
        // now this event is limiting.... see how far we can grow to the east
        if (maxExpandToEast > rw2.getAssignedSlot())
          maxExpandToEast = rw2.getAssignedSlot();
      }
      eventWrapper.setSlotExpandToEast(maxExpandToEast);
View Full Code Here

Examples of org.olat.commons.calendar.model.KalendarEvent

      renderSingleEvent(eventWrapper, sb, ubu, locale);
    }
  }

  private void renderSingleEvent(KalendarEventRenderWrapper eventWrapper, StringOutput sb, URLBuilder ubu, Locale locale) {
    KalendarEvent event = eventWrapper.getEvent();
    boolean hideSubject = eventWrapper.getCalendarAccess() == KalendarRenderWrapper.ACCESS_READ_ONLY && !eventWrapper.getKalendarRenderWrapper().isImported() && event.getClassification() != KalendarEvent.CLASS_PUBLIC;
    String escapedSubject = Formatter.escWithBR(event.getSubject()).toString();
    escapedSubject = escapedSubject.replace('\r', ' ');
    sb.append("\n<div class=\"o_cal_wv_event_wrapper\" style=\"");
    sb.append("left: ").append("" + eventWrapper.getXPosRelative());
    sb.append("%; width: ").append("" + eventWrapper.getWidthRelative());
    sb.append("%; top: ").append(eventWrapper.getYPosAbsolute() - 1 ); // fixt start position -1px for top border
    sb.append("px; height: ").append(eventWrapper.getHeightAbsolute() - 1 ); // fix height -1 px for bottom border
    sb.append("px;\"");
    sb.append(">");
   
    sb.append("<div class=\"o_cal_wv_event ").append(eventWrapper.getCssClass()).append("\" style=\"");
    sb.append("width: auto; height: 100%\">");
    sb.append("<div class=\"o_cal_wv_event_header\"><a href=\"");
    ubu.buildURI(sb, new String[] {WeeklyCalendarComponent.ID_CMD, WeeklyCalendarComponent.ID_PARAM},
        new String[] {WeeklyCalendarComponent.CMD_EDIT, event.getCalendar().getCalendarID() + WeeklyCalendarComponent.ID_PARAM_SEPARATOR + event.getID() + WeeklyCalendarComponent.ID_PARAM_SEPARATOR + event.getBegin().getTime()},
        isIframePostEnabled ? AJAXFlags.MODE_TOBGIFRAME : AJAXFlags.MODE_NORMAL);
    sb.append("\" ");
    if (isIframePostEnabled) {
      ubu.appendTarget(sb);
    }
    sb.append(" onclick=\"return o2cl();\">");
    sb.append(CalendarUtils.getTimeAsString(event.getBegin(), locale));
    sb.append("</a></div>");
    sb.append("<div class=\"o_cal_wv_event_content\">");
    // check if we need to hide textual information.
    // Private events on readonly kalendars are already filtered out and do not appear in the render list.
    // We thus only need to check for freebusy events in readonly calendars.
View Full Code Here

Examples of org.olat.commons.calendar.model.KalendarEvent

    Kalendar cal = new Kalendar(calendarID, type);
    for (Iterator iter = calendar.getComponents().iterator(); iter.hasNext();) {
      Component comp = (Component) iter.next();
      if (comp instanceof VEvent) {
        VEvent vevent = (VEvent)comp;
        KalendarEvent calEvent = getKalendarEvent(vevent);
        cal.addEvent(calEvent);
      } else if (comp instanceof VTimeZone) {
        log.info("createKalendar: VTimeZone Component is not supported and will not be added to calender");
        log.debug("createKalendar: VTimeZone=" + comp);
      } else {
View Full Code Here

Examples of org.olat.commons.calendar.model.KalendarEvent

    // add standard propeties
    calendar.getProperties().add(new ProdId("-//Ben Fortuna//iCal4j 1.0//EN"));
    calendar.getProperties().add(Version.VERSION_2_0);
    calendar.getProperties().add(CalScale.GREGORIAN);
    for (Iterator<KalendarEvent> iter = kalendar.getEvents().iterator(); iter.hasNext();) {
      KalendarEvent kEvent = iter.next();
      VEvent vEvent = getVEvent(kEvent);
      calendar.getComponents().add(vEvent);
    }
    return calendar;
  }
View Full Code Here

Examples of org.olat.commons.calendar.model.KalendarEvent

    if (isAllDay) {
      // adjust end date: ICal sets end dates to the next day
      end = new Date(end.getTime() - (1000 * 60 * 60 * 24));
    }
   
    KalendarEvent calEvent = new KalendarEvent(event.getUid().getValue(), subject, start, end);
    calEvent.setAllDayEvent(isAllDay);
   
    // classification
    Clazz classification = event.getClassification();
    if (classification != null) {
      String sClass = classification.getValue();
      int iClassification = KalendarEvent.CLASS_PRIVATE;
      if (sClass.equals(ICAL_CLASS_PRIVATE.getValue())) iClassification = KalendarEvent.CLASS_PRIVATE;
      else if (sClass.equals(ICAL_CLASS_X_FREEBUSY.getValue())) iClassification = KalendarEvent.CLASS_X_FREEBUSY;
      else if (sClass.equals(ICAL_CLASS_PUBLIC.getValue())) iClassification = KalendarEvent.CLASS_PUBLIC;
      calEvent.setClassification(iClassification);
    }
    // created/last modified
    Created created = event.getCreated();
    if (created != null) {
      calEvent.setCreated(created.getDate().getTime());
    }
    LastModified lastModified = event.getLastModified();
    if (lastModified != null) {
      calEvent.setLastModified(lastModified.getDate().getTime());
    }
   
    // location
    Location location = event.getLocation();
    if (location != null) {
      calEvent.setLocation(location.getValue());
    }
   
    // links if any
    List linkProperties = event.getProperties(ICAL_X_OLAT_LINK);
    List kalendarEventLinks = new ArrayList();
    for (Iterator iter = linkProperties.iterator(); iter.hasNext();) {
      XProperty linkProperty = (XProperty) iter.next();
      if (linkProperty != null) {
        String encodedLink = linkProperty.getValue();
        StringTokenizer st = new StringTokenizer(encodedLink, "§", false);
        if (st.countTokens() >= 4) {
          String provider = st.nextToken();
          String id = st.nextToken();
          String displayName = st.nextToken();
          String uri = st.nextToken();
          String iconCss = "";
          // migration: iconCss has been added later, check if available first
          if (st.hasMoreElements()) {
            iconCss = st.nextToken();
          }
          KalendarEventLink eventLink = new KalendarEventLink(provider, id, displayName, uri, iconCss);
          kalendarEventLinks.add(eventLink);
        }
      }
    }
    calEvent.setKalendarEventLinks(kalendarEventLinks);
   
    Property comment = event.getProperty(ICAL_X_OLAT_COMMENT);
    if (comment != null)
      calEvent.setComment(comment.getValue());
   
    Property numParticipants = event.getProperty(ICAL_X_OLAT_NUMPARTICIPANTS);
    if (numParticipants != null)
      calEvent.setNumParticipants(Integer.parseInt(numParticipants.getValue()));
   
    Property participants = event.getProperty(ICAL_X_OLAT_PARTICIPANTS);
    if (participants != null) {
      StringTokenizer strTok = new StringTokenizer(participants.getValue(), "§", false);
      String[] parts = new String[strTok.countTokens()];
      for ( int i = 0; strTok.hasMoreTokens(); i++ ) {
        parts[i] = strTok.nextToken();
      }
      calEvent.setParticipants(parts);
    }
   
    Property sourceNodId = event.getProperty(ICAL_X_OLAT_SOURCENODEID);
    if (sourceNodId != null)
      calEvent.setSourceNodeId(sourceNodId.getValue());
   
    // recurrence
    if (event.getProperty(ICAL_RRULE) != null) {
      calEvent.setRecurrenceRule(event.getProperty(ICAL_RRULE).getValue());
    }

    // recurrence exclusions
    if (event.getProperty(ICAL_EXDATE) != null) {
      calEvent.setRecurrenceExc(event.getProperty(ICAL_EXDATE).getValue());
    }
   
    return calEvent;
  }
View Full Code Here

Examples of org.olat.commons.calendar.model.KalendarEvent

  /**
   * {@inheritDoc}
   */
  public KalendarEvent getRecurringInPeriod(Date periodStart, Date periodEnd, KalendarEvent kEvent) {
    boolean isRecurring= isRecurringInPeriod(periodStart, periodEnd, kEvent);
    KalendarEvent recurEvent = null;

    if(isRecurring) {
      java.util.Calendar periodStartCal = java.util.Calendar.getInstance();
      java.util.Calendar eventBeginCal = java.util.Calendar.getInstance();
     
      periodStartCal.setTime(periodStart);
      eventBeginCal.setTime(kEvent.getBegin());
     
      Long duration = kEvent.getEnd().getTime() - kEvent.getBegin().getTime();

      java.util.Calendar beginCal = java.util.Calendar.getInstance();
      beginCal.setTime(kEvent.getBegin());
      beginCal.set(java.util.Calendar.YEAR, periodStartCal.get(java.util.Calendar.YEAR));
      beginCal.set(java.util.Calendar.MONTH, periodStartCal.get(java.util.Calendar.MONTH));
      beginCal.set(java.util.Calendar.DAY_OF_MONTH, periodStartCal.get(java.util.Calendar.DAY_OF_MONTH));

      recurEvent = kEvent.clone();
      recurEvent.setBegin(beginCal.getTime());
      recurEvent.setEnd(new Date(beginCal.getTime().getTime() + duration));
    }

    return recurEvent;
  }
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.