package com.aspose.email.examples.outlook.msg; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.TimeZone; import com.aspose.email.Appointment; import com.aspose.email.AppointmentSaveFormat; import com.aspose.email.MailAddress; import com.aspose.email.MailAddressCollection; import com.aspose.email.MailMessage; import com.aspose.email.MapiCalendar; import com.aspose.email.MapiMessage; import com.aspose.email.MapiRecipient; import com.aspose.email.examples.Utils; public class CalendarItems { public static void main(String[] args) { // The path to the resource directory. String dataDir = Utils.getSharedDataDir(CalendarItems.class) + "outlook/"; //Creating and Saving Calendar Items creatAndSaveCalendarItems(dataDir); //Saving the Calendar Item as MSG savingTheCalendarItemAsMSG(dataDir); //Adding Display Reminder to a Calendar addDisplayReminderToACalendar(dataDir); //Adding Audio Reminder to a Calendar addAudioReminderToACalendar(dataDir); //Getting Recipient Status from MapiCalendar getRecipientStatusFromMapiCalendar(dataDir); } public static void creatAndSaveCalendarItems(String dataDir) { // Create the appointment MapiCalendar appointment = new MapiCalendar(); appointment.setLocation("LAKE ARGYLE WA 6743"); appointment.setSubject("Appointment"); appointment.setBody("This is a very important meeting"); Date startDate = null; Calendar cal = GregorianCalendar.getInstance(); cal.set(2016, 10, 2); startDate = cal.getTime(); Date endDate = null; cal = GregorianCalendar.getInstance(); cal.set(2016, 10, 3); endDate = cal.getTime(); appointment.setStartDate(startDate); appointment.setEndDate(endDate); appointment.save(dataDir + "CalendarItem_out.ics", AppointmentSaveFormat.Ics); } public static void savingTheCalendarItemAsMSG(String dataDir) { // Create the appointment MapiCalendar appointment = new MapiCalendar(); appointment.save(dataDir + "CalendarItemAsMSG_out.ics", AppointmentSaveFormat.Ics); } public static void addDisplayReminderToACalendar(String dataDir) { Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT")); calendar.set(2016, Calendar.NOVEMBER, 1, 0, 0, 0); Date startDate = calendar.getTime(); calendar.set(2016, Calendar.DECEMBER, 1); Date endDate = calendar.getTime(); MailAddressCollection attendees = new MailAddressCollection(); attendees.addItem(new MailAddress("attendee_address@domain.com", "Attendee")); Appointment app = new Appointment("Home", startDate, endDate, new MailAddress("organizer@domain.com", "Organizer"), attendees); MailMessage msg = new MailMessage(); msg.addAlternateView(app.requestApointment()); MapiMessage mapi = MapiMessage.fromMailMessage(msg); MapiCalendar cal = (MapiCalendar) mapi.toMapiMessageItem(); cal.setReminderSet(true); cal.setReminderDelta(45); //45 min before start of event String savedFile = dataDir + "calendarWithDisplayReminder_out.ics"; cal.save(savedFile, AppointmentSaveFormat.Ics); } public static void addAudioReminderToACalendar(String dataDir) { Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("GMT")); calendar.set(2016, Calendar.NOVEMBER, 1, 0, 0, 0); Date startDate = calendar.getTime(); calendar.set(2016, Calendar.DECEMBER, 1); Date endDate = calendar.getTime(); MailAddressCollection attendees = new MailAddressCollection(); attendees.addItem(new MailAddress("attendee_address@domain.com", "Attendee")); Appointment app = new Appointment("Home", startDate, endDate, new MailAddress("organizer@domain.com", "Organizer"), attendees); MailMessage msg = new MailMessage(); msg.addAlternateView(app.requestApointment()); MapiMessage mapi = MapiMessage.fromMailMessage(msg); MapiCalendar cal = (MapiCalendar)mapi.toMapiMessageItem(); cal.setReminderSet(true); cal.setReminderDelta(58); //58 min before start of event cal.setReminderFileParameter(dataDir + "Alarm01.wav"); String savedFile = dataDir + "calendarWithAudioReminder_out.ics"; cal.save(savedFile, AppointmentSaveFormat.Ics); } public static void getRecipientStatusFromMapiCalendar(String dataDir) { MapiMessage msg = MapiMessage.fromFile(dataDir + "messageMapi.msg"); for (MapiRecipient rec : msg.getRecipients()) { System.out.println(rec.getRecipientTrackStatus()); } } }