在Lotus Notes客户端的eclipse插件中,我需要在用户的邮件文件中创建会议。我已使用NotesCalendar对象在我自己的邮件文件中成功创建了约会。 (见下面的代码)。我似乎没有做对的是建立会议而不是约会。在数据库级别上,差异由名为约会类型的字段进行,在会议的情况下设置为3,在约会的情况下设置为0。
根据资源,我发现我需要添加xProperty" X-LOTUS-APPTTYPE"值为" 3"到我的Ical4j对象但由于某种原因,这不是由NotesCalendar.createEntry()方法处理的。
有人知道如何使用NotesCalendar备注类和Ical4j在邮件文件中创建会议吗?
(我添加xPages标签的原因是我希望xPages社区中有人曾经使用过notescalendar对象)
创建约会的代码:
DateTime meetingStart = new DateTime(c.getStartTime().getTime());
DateTime meetingEnd = new DateTime(c.getEndTime().getTime());
VEvent meeting = new VEvent(meetingStart, meetingEnd, c.getSubject());
// Add chair
Attendee chairAttendee = new Attendee(URI.create("mailto:j.somhorst@development.acuity.nl"));
chairAttendee.getParameters().add(Role.CHAIR);
// Add invitees
for(User invitee : c.getUserParticipants()){
Attendee attendee = new Attendee(URI.create("mailto:"+invitee.getEmail()));
attendee.getParameters().add(Role.REQ_PARTICIPANT);
meeting.getProperties().add(attendee);
}
// create calendar for ics export
Calendar call = new Calendar();
call.getProperties().add(new ProdId("-//Lotus Development Corporation//NONSGML Notes 9.0.1//EN_API_C"));
call.getComponents().add(meeting);
// notes specific fields
meeting.getProperties().add(new XProperty("X-LOTUS-NOTESVERSION","2"));
meeting.getProperties().add(new XProperty("X-LOTUS-APPTTYPE","3"));
NotesCalendar notesCalendar = NotesUtil.getNotesCalendar(s);
if(notesCalendar!=null){
notesCalendar.setAutoSendNotices(false);
NotesCalendarEntry entry = notesCalendar.createEntry(call.toString());
String icallvalue = entry.read();
System.out.println(icallvalue);
}