Search in sources :

Example 1 with FixCalendarItemPriority

use of com.zimbra.cs.redolog.op.FixCalendarItemPriority in project zm-mailbox by Zimbra.

the class Mailbox method fixCalendarItemPriority.

public int fixCalendarItemPriority(OperationContext octxt, CalendarItem calItem) throws ServiceException {
    FixCalendarItemPriority redoRecorder = new FixCalendarItemPriority(getId(), calItem.getId());
    boolean success = false;
    try {
        beginTransaction("fixupCalendarItemPriority", octxt, redoRecorder);
        int flags = calItem.mData.getFlags() & ~(Flag.BITMASK_HIGH_PRIORITY | Flag.BITMASK_LOW_PRIORITY);
        Invite[] invs = calItem.getInvites();
        if (invs != null) {
            for (Invite cur : invs) {
                String method = cur.getMethod();
                if (method.equals(ICalTok.REQUEST.toString()) || method.equals(ICalTok.PUBLISH.toString())) {
                    if (cur.isHighPriority()) {
                        flags |= Flag.BITMASK_HIGH_PRIORITY;
                    }
                    if (cur.isLowPriority()) {
                        flags |= Flag.BITMASK_LOW_PRIORITY;
                    }
                }
            }
        }
        int numFixed = 0;
        if (flags != calItem.mData.getFlags()) {
            ZimbraLog.calendar.info("Fixed calendar item " + calItem.getId());
            markItemModified(calItem, Change.INVITE);
            calItem.mData.setFlags(flags);
            calItem.snapshotRevision();
            calItem.saveMetadata();
            success = true;
            numFixed = 1;
        }
        return numFixed;
    } finally {
        endTransaction(success);
    }
}
Also used : FixCalendarItemPriority(com.zimbra.cs.redolog.op.FixCalendarItemPriority) RefreshMountpoint(com.zimbra.cs.redolog.op.RefreshMountpoint) TargetConstraint(com.zimbra.cs.mailbox.MailItem.TargetConstraint) CreateMountpoint(com.zimbra.cs.redolog.op.CreateMountpoint) CreateInvite(com.zimbra.cs.redolog.op.CreateInvite) Invite(com.zimbra.cs.mailbox.calendar.Invite)

Aggregations

TargetConstraint (com.zimbra.cs.mailbox.MailItem.TargetConstraint)1 Invite (com.zimbra.cs.mailbox.calendar.Invite)1 CreateInvite (com.zimbra.cs.redolog.op.CreateInvite)1 CreateMountpoint (com.zimbra.cs.redolog.op.CreateMountpoint)1 FixCalendarItemPriority (com.zimbra.cs.redolog.op.FixCalendarItemPriority)1 RefreshMountpoint (com.zimbra.cs.redolog.op.RefreshMountpoint)1