/** * @param cal * @param pattern * @param doTimezones * @return Internal XML representation of iCalendar object * @throws Throwable */ @SuppressWarnings("unchecked") public static IcalendarType fromIcal( final Calendar cal, final BaseComponentType pattern, final boolean doTimezones, final boolean wrapXprops) throws Throwable { final IcalendarType ical = new IcalendarType(); final VcalendarType vcal = new VcalendarType(); ical.getVcalendar().add(vcal); processProperties(cal.getProperties(), vcal, pattern, wrapXprops); final ComponentList icComps = cal.getComponents(); if (icComps == null) { return ical; } final ArrayOfComponents aoc = new ArrayOfComponents(); vcal.setComponents(aoc); for (final Object o : icComps) { if (!doTimezones && (o instanceof VTimeZone)) { // Skip these continue; } aoc.getBaseComponent().add(toComponent((CalendarComponent) o, pattern, wrapXprops)); } return ical; }
/* (non-Javadoc) * @see org.bedework.synch.cnctrs.ConnectorInstance#fetchItem(java.lang.String) */ @Override public FetchItemResponseType fetchItem(final String uid) throws SynchException { getIcal(); if (sub.changed()) { cnctr.getSyncher().updateSubscription(sub); } MapEntry me = uidMap.get(uid); FetchItemResponseType fir = new FetchItemResponseType(); if (me == null) { fir.setStatus(StatusType.NOT_FOUND); return fir; } fir.setHref(info.getUri() + "#" + uid); fir.setChangeToken(info.getChangeToken()); IcalendarType ical = new IcalendarType(); VcalendarType vcal = new VcalendarType(); ical.getVcalendar().add(vcal); vcal.setProperties(new ArrayOfProperties()); List<JAXBElement<? extends BasePropertyType>> pl = vcal.getProperties().getBasePropertyOrTzid(); ProdidPropType prod = new ProdidPropType(); prod.setText(prodid); pl.add(of.createProdid(prod)); VersionPropType vers = new VersionPropType(); vers.setText("2.0"); pl.add(of.createVersion(vers)); ArrayOfComponents aoc = new ArrayOfComponents(); vcal.setComponents(aoc); aoc.getBaseComponent().addAll(me.comps); fir.setIcalendar(ical); return fir; }