private VFreeBusy freeBusy(net.fortuna.ical4j.model.Calendar cal) { return (VFreeBusy) cal.getComponent("VFREEBUSY"); }
@Override public void validate(Calendar target) throws ValidationException { if (target.getComponent(Component.VEVENT) != null) { ComponentValidator.assertNone(Component.VFREEBUSY, target.getComponents()); ComponentValidator.assertNone(Component.VJOURNAL, target.getComponents()); ComponentValidator.assertNone(Component.VTODO, target.getComponents()); } else if (target.getComponent(Component.VTODO) != null) { ComponentValidator.assertOneOrLess(Component.VTIMEZONE, target.getComponents()); ComponentValidator.assertNone(Component.VFREEBUSY, target.getComponents()); // ComponentValidator.assertNone(Component.VEVENT, target.getComponents()); ComponentValidator.assertNone(Component.VJOURNAL, target.getComponents()); } } }
@Override public void validate(Calendar target) throws ValidationException { if (target.getComponent(Component.VEVENT) != null) { ComponentValidator.assertNone(Component.VFREEBUSY, target.getComponents()); ComponentValidator.assertNone(Component.VJOURNAL, target.getComponents()); ComponentValidator.assertNone(Component.VTODO, target.getComponents()); } else if (target.getComponent(Component.VTODO) != null) { ComponentValidator.assertOneOrLess(Component.VTIMEZONE, target.getComponents()); ComponentValidator.assertNone(Component.VFREEBUSY, target.getComponents()); // ComponentValidator.assertNone(Component.VEVENT, target.getComponents()); ComponentValidator.assertNone(Component.VJOURNAL, target.getComponents()); } } }
private VEvent event(net.fortuna.ical4j.model.Calendar cal) { return (VEvent) cal.getComponent("VEVENT"); }
@Override public void validate(Calendar target) throws ValidationException { if (target.getComponent(Component.VEVENT) != null) { ComponentValidator.assertNone(Component.VFREEBUSY, target.getComponents()); ComponentValidator.assertNone(Component.VJOURNAL, target.getComponents()); ComponentValidator.assertNone(Component.VTODO, target.getComponents()); ComponentValidator.assertNone(Component.VTIMEZONE, target.getComponents()); ComponentValidator.assertNone(Component.VALARM, target.getComponents()); } else if (target.getComponent(Component.VTODO) != null) { ComponentValidator.assertNone(Component.VALARM, target.getComponents()); ComponentValidator.assertNone(Component.VFREEBUSY, target.getComponents()); // ComponentValidator.assertNone(Component.VEVENT, target.getComponents()); ComponentValidator.assertNone(Component.VJOURNAL, target.getComponents()); } } }
private VEvent event(net.fortuna.ical4j.model.Calendar cal) { return (VEvent) cal.getComponent("VEVENT"); }
/** * Get first non-timezone component * @param resource CalDavResource to retrieve from. * @param component Component to retrieve. * @return null if not present */ public static CalendarComponent getFirstComponent(CalDAVResource resource, String component) { return resource.getCalendar().getComponent(component); }
public void testVAvailability() throws ParserException, IOException { CalendarBuilder calendarBuilder = new CalendarBuilder(); String availability = getVAvailabilityICal(); Reader reader = new StringReader(availability); Calendar calendar = calendarBuilder.build(reader); Component availabilityComponent = calendar.getComponent(Component.VAVAILABILITY); Assert.assertNotNull(availabilityComponent); Assert.assertFalse(((VAvailability) availabilityComponent).getAvailable().isEmpty()); String iCalString = calendar.toString(); Assert.assertTrue(iCalString.contains("BEGIN:AVAILABLE")); Assert.assertEquals(iCalString.trim(), availability); }
/** * Test correct parsing of quoted text. * @throws IOException * @throws ParserException */ public void testQuotedText() throws IOException, ParserException { Calendar calendar = Calendars.load(getClass().getResource("/samples/valid/mansour.ics")); Component event = calendar.getComponent(Component.VEVENT); assertEquals("At \"The Terrace\" Complex > Melbourne \"\\,", event.getProperty(Property.LOCATION).getValue()); }
/** * <p> * Imports a calendar object containing a VFREEBUSY. * </p> * @return The calendar imported. * @throws CosmoDavException - if something is wrong this exception is thrown. */ public void setCalendar(Calendar cal) throws CosmoDavException { FreeBusyItem freeBusy = (FreeBusyItem) getItem(); VFreeBusy vfb = (VFreeBusy) cal.getComponent(Component.VFREEBUSY); if (vfb==null) { throw new UnprocessableEntityException("VCALENDAR does not contain a VFREEBUSY"); } EntityConverter converter = new EntityConverter(getEntityFactory()); converter.convertFreeBusyCalendar(freeBusy, cal); }
/** * @param testMethod * @param vtimezoneDef * @param String zuluStr * @param String expectedLocalStr */ public TimeZoneTest(String testMethod, String vtimezoneDef, String zuluDateTimeStr, String expectedLocalDateTimeStr) throws Exception { super(testMethod); net.fortuna.ical4j.model.Calendar cal = new CalendarBuilder().build(new StringReader(vtimezoneDef)); VTimeZone vtz = (VTimeZone) cal.getComponent(VTimeZone.VTIMEZONE); this.timezone = new TimeZone(vtz); this.zuluDateTimeStr = zuluDateTimeStr; this.expectedLocalDateTimeStr = expectedLocalDateTimeStr; }
/** * Test to ensure that EXDATE properties are correctly applied. * * @throws ParseException */ public void testGetConsumedTimeWithExDate2() throws IOException, ParserException { InputStream in = getClass().getResourceAsStream("/samples/valid/friday13.ics"); net.fortuna.ical4j.model.Calendar calendar = new CalendarBuilder().build(in); VEvent event = (VEvent) calendar.getComponent(Component.VEVENT); Calendar cal = Calendar.getInstance(); cal.set(1997, 8, 2); Date start = new Date(cal.getTime()); cal.set(1997, 8, 4); Date end = new Date(cal.getTime()); PeriodList periods = event.getConsumedTime(start, end); assertTrue(periods.isEmpty()); }
/** * @return * @throws ParserException * @throws IOException */ public static TestSuite suite() throws IOException, ParserException { TestSuite suite = new TestSuite(); // Test correct parsing of text with tabs. Calendar calendar = Calendars.load(DescriptionTest.class.getResource("/samples/valid/mansour.ics")); Component event = calendar.getComponent(Component.VEVENT); suite.addTest(new DescriptionTest(event .getProperty(Property.DESCRIPTION), "Test\t\ttabs")); return suite; } }
/** * @return * @throws ParserException * @throws IOException */ public static TestSuite suite() throws IOException, ParserException { TestSuite suite = new TestSuite(); //testQuotedText.. Calendar calendar = Calendars.load(LocationTest.class.getResource("/samples/valid/mansour.ics")); Component event = calendar.getComponent(Component.VEVENT); Location location = (Location) event.getProperty(Property.LOCATION); suite.addTest(new LocationTest(location, "At \"The Terrace\" Complex > Melbourne \"\\,")); return suite; } }
public Builder from(Calendar calendar, byte[] originalEvent) { this.ical = new String(originalEvent, StandardCharsets.UTF_8); VEvent vevent = (VEvent) calendar.getComponent("VEVENT"); this.uid = optionalOf(vevent.getUid()); this.method = optionalOf(calendar.getMethod()); this.recurrenceId = optionalOf(vevent.getRecurrenceId()); this.sequence = optionalOf(vevent.getSequence()); this.dtstamp = optionalOf(vevent.getDateStamp()); return this; }
public void testRelaxedParsing() throws IOException, ParserException { try { Calendars.load(getClass().getResource("/samples/invalid/groupwise.ics")); fail("Should throw URISyntaxException"); } catch (ParserException pe) { LOG.info("Caught exception: " + pe.getMessage()); } CompatibilityHints.setHintEnabled(CompatibilityHints.KEY_RELAXED_PARSING, true); Calendar calendar = Calendars.load(getClass().getResource("/samples/invalid/groupwise.ics")); Attendee attendee = (Attendee) calendar.getComponent(Component.VEVENT).getProperty(Property.ATTENDEE); assertNotNull(attendee.getCalAddress()); } }
/** * Ensure timezones are correctly parsed for this property. * @throws Exception */ public void testTimeZones() throws Exception { CalendarBuilder builder = new CalendarBuilder(); Calendar calendar = builder.build(getClass().getResourceAsStream("/samples/valid/EXDATE.ics")); Component event = calendar.getComponent(Component.VEVENT); List<ExDate> exdates = event.getProperties(Property.EXDATE); for (ExDate exDate : exdates) { assertNotNull("This EXDATE should have a timezone", exDate.getDates().getTimeZone()); } }
public void testShouldPreserveUtcTimezoneForExDate() throws Exception { CalendarBuilder builder = new CalendarBuilder(); Calendar calendar = builder.build(getClass().getResourceAsStream("/samples/valid/EXDATE-IN-UTC.ics")); Component event = calendar.getComponent(Component.VEVENT); List<ExDate> exdates = event.getProperties(Property.EXDATE); for (ExDate exDate : exdates) { for (Date dateEx : exDate.getDates()) { DateTime dateTimeEx = (DateTime) dateEx; assertNotNull(dateTimeEx); assertTrue("This exception date should be in UTC", dateTimeEx.isUtc()); } } }
public final void testGetConsumedTime3() throws Exception { String resource = "/samples/valid/calconnect10.ics"; net.fortuna.ical4j.model.Calendar calendar = loadCalendar(resource); VEvent vev = (VEvent) calendar.getComponent(Component.VEVENT); Date start = vev.getStartDate().getDate(); Calendar cal = getCalendarInstance(); cal.add(Calendar.YEAR, 1); Date latest = new Date(cal.getTime()); PeriodList pl = vev.getConsumedTime(start, latest); assertTrue(!pl.isEmpty()); }
private void writeToHeaders(Calendar calendar, Mail mail) throws MessagingException { MimeMessage mimeMessage = mail.getMessage(); VEvent vevent = (VEvent) calendar.getComponent("VEVENT"); addIfPresent(mimeMessage, X_MEETING_METHOD_HEADER, calendar.getMethod()); addIfPresent(mimeMessage, X_MEETING_UID_HEADER, vevent.getUid()); addIfPresent(mimeMessage, X_MEETING_RECURRENCE_ID_HEADER, vevent.getRecurrenceId()); addIfPresent(mimeMessage, X_MEETING_SEQUENCE_HEADER, vevent.getSequence()); addIfPresent(mimeMessage, X_MEETING_DTSTAMP_HEADER, vevent.getDateStamp()); }