使用ICall创建Meeting lotus会议

时间:2014-12-31 13:52:47

标签: java xpages ical4j lotus-notes

在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);

    }

0 个答案:

没有答案