Search in sources :

Example 1 with FolderActionSelector

use of com.zimbra.soap.mail.type.FolderActionSelector in project zm-mailbox by Zimbra.

the class TestPurge method testFolderRetentionPolicy.

/**
 * Tests the SOAP API for setting retention policy on a folder.
 */
@Test
public void testFolderRetentionPolicy() throws Exception {
    ZMailbox mbox = TestUtil.getZMailbox(USER_NAME);
    ZFolder folder = TestUtil.createFolder(mbox, "/" + NAME_PREFIX + "-testFolderRetentionPolicy");
    // Set user keep policy for folder.
    FolderActionSelector action = new FolderActionSelector(folder.getId(), "retentionpolicy");
    RetentionPolicy rp = new RetentionPolicy(Arrays.asList(Policy.newUserPolicy("30d")), null);
    action.setRetentionPolicy(rp);
    FolderActionRequest req = new FolderActionRequest(action);
    FolderActionResponse res = mbox.invokeJaxb(req);
    Assert.assertEquals("retentionpolicy", res.getAction().getOperation());
    Assert.assertEquals(folder.getId(), res.getAction().getId());
    // Make sure that the retention policy is now set.
    folder = mbox.getFolderById(folder.getId());
    rp = folder.getRetentionPolicy();
    Assert.assertEquals(1, rp.getKeepPolicy().size());
    Assert.assertEquals(0, rp.getPurgePolicy().size());
    Policy p = rp.getKeepPolicy().get(0);
    Assert.assertEquals(Policy.Type.USER, p.getType());
    Assert.assertEquals("30d", p.getLifetime());
    // Turn off keep policy and set purge policy.
    action = new FolderActionSelector(folder.getId(), "retentionpolicy");
    rp = new RetentionPolicy(null, Arrays.asList(Policy.newUserPolicy("45d")));
    action.setRetentionPolicy(rp);
    req = new FolderActionRequest(action);
    res = mbox.invokeJaxb(req);
    Assert.assertEquals("retentionpolicy", res.getAction().getOperation());
    Assert.assertEquals(folder.getId(), res.getAction().getId());
    // Make sure that the retention policy is now set.
    folder = mbox.getFolderById(folder.getId());
    rp = folder.getRetentionPolicy();
    Assert.assertEquals(0, rp.getKeepPolicy().size());
    Assert.assertEquals(1, rp.getPurgePolicy().size());
    p = rp.getPurgePolicy().get(0);
    Assert.assertEquals(Policy.Type.USER, p.getType());
    Assert.assertEquals("45d", p.getLifetime());
    // Start a new session and make sure that the retention policy is still returned.
    mbox = TestUtil.getZMailbox(USER_NAME);
    folder = mbox.getFolderById(folder.getId());
    Assert.assertTrue(folder.getRetentionPolicy().isSet());
}
Also used : Policy(com.zimbra.soap.mail.type.Policy) RetentionPolicy(com.zimbra.soap.mail.type.RetentionPolicy) FolderActionSelector(com.zimbra.soap.mail.type.FolderActionSelector) ZMailbox(com.zimbra.client.ZMailbox) FolderActionRequest(com.zimbra.soap.mail.message.FolderActionRequest) FolderActionResponse(com.zimbra.soap.mail.message.FolderActionResponse) ZFolder(com.zimbra.client.ZFolder) RetentionPolicy(com.zimbra.soap.mail.type.RetentionPolicy) Test(org.junit.Test)

Example 2 with FolderActionSelector

use of com.zimbra.soap.mail.type.FolderActionSelector in project zm-mailbox by Zimbra.

the class TestJaxbProvisioning method grantAccess.

public void grantAccess(Account acct, String id, String granteeType, String granteeName, String perm) {
    FolderActionSelector selector = new FolderActionSelector(id, "grant");
    ActionGrantSelector grant = new ActionGrantSelector(perm, granteeType);
    grant.setDisplayName(granteeName);
    selector.setGrant(grant);
    FolderActionRequest req = new FolderActionRequest(selector);
    try {
        FolderActionResponse resp = prov.invokeJaxbOnTargetAccount(req, acct.getId());
        assertNotNull(String.format("FolderActionResponse for account %s", acct.getName()), resp);
    } catch (ServiceException e) {
        fail("Unexpected exception while granting access " + e);
    }
}
Also used : ActionGrantSelector(com.zimbra.soap.mail.type.ActionGrantSelector) FolderActionSelector(com.zimbra.soap.mail.type.FolderActionSelector) ServiceException(com.zimbra.common.service.ServiceException) FolderActionRequest(com.zimbra.soap.mail.message.FolderActionRequest) FolderActionResponse(com.zimbra.soap.mail.message.FolderActionResponse)

Example 3 with FolderActionSelector

use of com.zimbra.soap.mail.type.FolderActionSelector in project zm-mailbox by Zimbra.

the class GetMsgTest method testHandle.

@Test
public void testHandle() throws Exception {
    Account acct1 = Provisioning.getInstance().get(Key.AccountBy.name, "test@zimbra.com");
    Account acct2 = Provisioning.getInstance().get(Key.AccountBy.name, "test2@zimbra.com");
    Mailbox mbox1 = MailboxManager.getInstance().getMailboxByAccount(acct1);
    Folder calendarFolder = mbox1.getCalendarFolders(null, SortBy.NONE).get(0);
    String fragment = "Some message";
    ZVCalendar calendar = new ZVCalendar();
    calendar.addDescription(desc, null);
    ZComponent comp = new ZComponent("VEVENT");
    calendar.addComponent(comp);
    Invite invite = MailboxTestUtil.generateInvite(acct1, fragment, calendar);
    ICalTimeZone ical = invite.getTimeZoneMap().getLocalTimeZone();
    long utc = 5 * 60 * 60 * 1000;
    ParsedDateTime s = ParsedDateTime.fromUTCTime(System.currentTimeMillis() + utc, ical);
    ParsedDateTime e = ParsedDateTime.fromUTCTime(System.currentTimeMillis() + (30 * 60 * 1000) + utc, ical);
    invite.setDtStart(s);
    invite.setDtEnd(e);
    invite.setPriority("5");
    invite.setClassProp("PRI");
    invite.setOrganizer(new ZOrganizer("test@zimbra.com", null));
    invite.setUid(UUID.randomUUID().toString());
    invite.setMethod("REQUEST");
    invite.setName("Testing");
    invite.setFreeBusy("B");
    invite.setIsOrganizer(true);
    invite.setItemType(MailItem.Type.APPOINTMENT);
    invite.setUid(UUID.randomUUID().toString());
    AddInviteData inviteData = mbox1.addInvite(null, invite, calendarFolder.getId());
    calendarFolder = mbox1.getCalendarFolders(null, SortBy.NONE).get(0);
    MsgSpec msgSpec = new MsgSpec(acct1.getId() + ":" + inviteData.calItemId + "-" + inviteData.invId);
    msgSpec.setWantHtml(true);
    msgSpec.setNeedCanExpand(true);
    GetMsgRequest getMsgReq = new GetMsgRequest(msgSpec);
    Element response = new GetMsg().handle(JaxbUtil.jaxbToElement(getMsgReq), ServiceTestUtil.getRequestContext(acct1));
    Element organizer = response.getElement("m").getElement("inv").getElement("comp").getElement("or");
    String organizerString = organizer.prettyPrint();
    assertTrue(organizerString.contains("a=\"test@zimbra.com\" url=\"test@zimbra.com\""));
    mbox1.grantAccess(null, 10, acct2.getId(), ACL.GRANTEE_USER, ACL.RIGHT_READ, null);
    NewMountpointSpec mpSpec = new NewMountpointSpec("sharedcal");
    mpSpec.setFlags("#");
    mpSpec.setDefaultView("appoinment");
    mpSpec.setFolderId("10");
    mpSpec.setOwnerName("test@zimbra.com");
    mpSpec.setReminderEnabled(false);
    mpSpec.setPath("/Calendar");
    CreateMountpointRequest createMpReq = new CreateMountpointRequest(mpSpec);
    response = new CreateMountpoint().handle(JaxbUtil.jaxbToElement(createMpReq), ServiceTestUtil.getRequestContext(acct2));
    String mptId = response.getElement("link").getAttribute("id");
    msgSpec = new MsgSpec(acct1.getId() + ":" + inviteData.calItemId + "-" + mptId);
    msgSpec.setWantHtml(true);
    msgSpec.setNeedCanExpand(true);
    getMsgReq = new GetMsgRequest(msgSpec);
    response = new GetMsg().handle(JaxbUtil.jaxbToElement(getMsgReq), ServiceTestUtil.getRequestContext(acct2, acct1));
    organizerString = response.getElement("m").prettyPrint();
    assertTrue(!organizerString.contains("a=\"test@zimbra.com\" url=\"test@zimbra.com\""));
    FolderActionSelector action = new FolderActionSelector(mptId, "delete");
    FolderActionRequest folderActionReq = new FolderActionRequest(action);
    response = new FolderAction().handle(JaxbUtil.jaxbToElement(folderActionReq), ServiceTestUtil.getRequestContext(acct2));
    mbox1.revokeAccess(null, 10, acct2.getId());
}
Also used : Account(com.zimbra.cs.account.Account) CreateMountpointRequest(com.zimbra.soap.mail.message.CreateMountpointRequest) AddInviteData(com.zimbra.cs.mailbox.Mailbox.AddInviteData) GetMsgRequest(com.zimbra.soap.mail.message.GetMsgRequest) Element(com.zimbra.common.soap.Element) ZOrganizer(com.zimbra.cs.mailbox.calendar.ZOrganizer) Folder(com.zimbra.cs.mailbox.Folder) MsgSpec(com.zimbra.soap.mail.type.MsgSpec) ZComponent(com.zimbra.common.calendar.ZCalendar.ZComponent) ZVCalendar(com.zimbra.common.calendar.ZCalendar.ZVCalendar) FolderActionSelector(com.zimbra.soap.mail.type.FolderActionSelector) Mailbox(com.zimbra.cs.mailbox.Mailbox) FolderActionRequest(com.zimbra.soap.mail.message.FolderActionRequest) ParsedDateTime(com.zimbra.common.calendar.ParsedDateTime) NewMountpointSpec(com.zimbra.soap.mail.type.NewMountpointSpec) Invite(com.zimbra.cs.mailbox.calendar.Invite) ICalTimeZone(com.zimbra.common.calendar.ICalTimeZone) Test(org.junit.Test)

Example 4 with FolderActionSelector

use of com.zimbra.soap.mail.type.FolderActionSelector in project zm-mailbox by Zimbra.

the class ExternalUserProvServlet method doGet.

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    String param = req.getParameter("p");
    if (param == null) {
        throw new ServletException("request missing param");
    }
    Map<Object, Object> tokenMap = validatePrelimToken(param);
    Map<String, String> reqHeaders = new HashMap<String, String>();
    String ownerId = (String) tokenMap.get(AccountConstants.P_ACCOUNT_ID);
    String folderId = (String) tokenMap.get(AccountConstants.P_FOLDER_ID);
    String extUserEmail = (String) tokenMap.get(AccountConstants.P_EMAIL);
    String addressVerification = (String) tokenMap.get(AccountConstants.P_ADDRESS_VERIFICATION);
    if ("1".equals(addressVerification)) {
        Boolean expired = false;
        if (tokenMap.get(EXPIRED) != null) {
            expired = (Boolean) tokenMap.get(EXPIRED);
        }
        Map<String, String> attributes = handleAddressVerification(req, resp, ownerId, extUserEmail, expired);
        redirectRequest(req, resp, attributes, EXT_USER_PROV_ON_UI_NODE, PUBLIC_ADDRESS_VERIFICATION_JSP);
    } else {
        Provisioning prov = Provisioning.getInstance();
        Account grantee;
        try {
            Account owner = prov.getAccountById(ownerId);
            Domain domain = prov.getDomain(owner);
            grantee = prov.getAccountByName(mapExtEmailToAcctName(extUserEmail, domain));
            if (grantee == null) {
                // external virtual account not created yet
                if (prov.isOctopus() && DebugConfig.skipVirtualAccountRegistrationPage) {
                    // provision using 'null' password and display name
                    // UI will ask the user to set these post provisioning
                    provisionVirtualAccountAndRedirect(req, resp, null, null, ownerId, extUserEmail);
                } else {
                    resp.addCookie(new Cookie("ZM_PRELIM_AUTH_TOKEN", param));
                    Map<String, String> attrs = new HashMap<String, String>();
                    attrs.put("extuseremail", extUserEmail);
                    reqHeaders.put("ZM_PRELIM_AUTH_TOKEN", param);
                    redirectRequest(req, resp, attrs, reqHeaders, EXT_USER_PROV_ON_UI_NODE, PUBLIC_EXTUSERPROV_JSP);
                }
            } else {
                // create a new mountpoint in the external user's mailbox if not already created
                String[] sharedItems = owner.getSharedItem();
                int sharedFolderId = Integer.valueOf(folderId);
                String sharedFolderPath = null;
                MailItem.Type sharedFolderView = null;
                for (String sharedItem : sharedItems) {
                    ShareInfoData sid = AclPushSerializer.deserialize(sharedItem);
                    if (sid.getItemId() == sharedFolderId && extUserEmail.equalsIgnoreCase(sid.getGranteeId())) {
                        sharedFolderPath = sid.getPath();
                        sharedFolderView = sid.getFolderDefaultViewCode();
                        break;
                    }
                }
                if (sharedFolderPath == null) {
                    throw new ServletException("share not found");
                }
                String mountpointName = getMountpointName(owner, grantee, sharedFolderPath);
                ZMailbox.Options options = new ZMailbox.Options();
                options.setNoSession(true);
                options.setAuthToken(AuthProvider.getAuthToken(grantee).toZAuthToken());
                options.setUri(AccountUtil.getSoapUri(grantee));
                ZMailbox zMailbox = new ZMailbox(options);
                ZMountpoint zMtpt = null;
                try {
                    zMtpt = zMailbox.createMountpoint(String.valueOf(getMptParentFolderId(sharedFolderView, prov)), mountpointName, ZFolder.View.fromString(sharedFolderView.toString()), ZFolder.Color.DEFAULTCOLOR, null, ZMailbox.OwnerBy.BY_ID, ownerId, ZMailbox.SharedItemBy.BY_ID, folderId, false);
                } catch (ServiceException e) {
                    logger.debug("Error in attempting to create mountpoint. Probably it already exists.", e);
                }
                if (zMtpt != null) {
                    if (sharedFolderView == MailItem.Type.APPOINTMENT) {
                        // make sure that the mountpoint is checked in the UI by default
                        FolderActionSelector actionSelector = new FolderActionSelector(zMtpt.getId(), "check");
                        FolderActionRequest actionRequest = new FolderActionRequest(actionSelector);
                        try {
                            zMailbox.invokeJaxb(actionRequest);
                        } catch (ServiceException e) {
                            logger.warn("Error in invoking check action on calendar mountpoint", e);
                        }
                    }
                    HashSet<MailItem.Type> types = new HashSet<MailItem.Type>();
                    types.add(sharedFolderView);
                    enableAppFeatures(grantee, types);
                }
                // check if the external user is already logged-in
                String zAuthTokenCookie = null;
                javax.servlet.http.Cookie[] cookies = req.getCookies();
                if (cookies != null) {
                    for (Cookie cookie : cookies) {
                        if (cookie.getName().equals("ZM_AUTH_TOKEN")) {
                            zAuthTokenCookie = cookie.getValue();
                            break;
                        }
                    }
                }
                AuthToken zAuthToken = null;
                if (zAuthTokenCookie != null) {
                    try {
                        zAuthToken = AuthProvider.getAuthToken(zAuthTokenCookie);
                    } catch (AuthTokenException ignored) {
                    // auth token is not valid
                    }
                }
                if (zAuthToken != null && !zAuthToken.isExpired() && zAuthToken.isRegistered() && grantee.getId().equals(zAuthToken.getAccountId())) {
                    // external virtual account already logged-in
                    resp.sendRedirect("/");
                } else if (prov.isOctopus() && !grantee.isVirtualAccountInitialPasswordSet() && DebugConfig.skipVirtualAccountRegistrationPage) {
                    // seems like the virtual user did not set his password during his last visit, after an account was
                    // provisioned for him
                    setCookieAndRedirect(req, resp, grantee);
                } else {
                    Map<String, String> attrs = new HashMap<String, String>();
                    attrs.put("virtualacctdomain", domain.getName());
                    redirectRequest(req, resp, attrs, PUBLIC_LOGIN_ON_UI_NODE, PUBLIC_LOGIN_JSP);
                }
            }
        } catch (ServiceException e) {
            Map<String, String> errorAttrs = new HashMap<String, String>();
            errorAttrs.put(ERROR_CODE, e.getCode());
            errorAttrs.put(ERROR_MESSAGE, e.getMessage());
            redirectRequest(req, resp, errorAttrs, EXT_USER_PROV_ON_UI_NODE, PUBLIC_EXTUSERPROV_JSP);
        } catch (Exception e) {
            Map<String, String> errorAttrs = new HashMap<String, String>();
            errorAttrs.put(ERROR_CODE, ServiceException.FAILURE);
            errorAttrs.put(ERROR_MESSAGE, e.getMessage());
            redirectRequest(req, resp, errorAttrs, EXT_USER_PROV_ON_UI_NODE, PUBLIC_EXTUSERPROV_JSP);
        }
    }
}
Also used : ZMountpoint(com.zimbra.client.ZMountpoint) GuestAccount(com.zimbra.cs.account.GuestAccount) Account(com.zimbra.cs.account.Account) SearchAccountsOptions(com.zimbra.cs.account.SearchAccountsOptions) HashMap(java.util.HashMap) Provisioning(com.zimbra.cs.account.Provisioning) ServletException(javax.servlet.ServletException) FolderActionSelector(com.zimbra.soap.mail.type.FolderActionSelector) ZMailbox(com.zimbra.client.ZMailbox) HashSet(java.util.HashSet) Cookie(javax.servlet.http.Cookie) ShareInfoData(com.zimbra.cs.account.ShareInfoData) ZMountpoint(com.zimbra.client.ZMountpoint) Mountpoint(com.zimbra.cs.mailbox.Mountpoint) ServletException(javax.servlet.ServletException) AccountServiceException(com.zimbra.cs.account.AccountServiceException) ServiceException(com.zimbra.common.service.ServiceException) IOException(java.io.IOException) AuthTokenException(com.zimbra.cs.account.AuthTokenException) MailItem(com.zimbra.cs.mailbox.MailItem) AccountServiceException(com.zimbra.cs.account.AccountServiceException) ServiceException(com.zimbra.common.service.ServiceException) FolderActionRequest(com.zimbra.soap.mail.message.FolderActionRequest) AuthTokenException(com.zimbra.cs.account.AuthTokenException) AuthToken(com.zimbra.cs.account.AuthToken) Domain(com.zimbra.cs.account.Domain) Map(java.util.Map) HashMap(java.util.HashMap)

Example 5 with FolderActionSelector

use of com.zimbra.soap.mail.type.FolderActionSelector in project zm-mailbox by Zimbra.

the class TestInvite method testBug86864DelegateInboxInviteLooksLikeInvite.

public void testBug86864DelegateInboxInviteLooksLikeInvite() throws Exception {
    TestUtil.createAccount(ORGANIZER);
    Account attendee = TestUtil.createAccount(ATTENDEE);
    Account delegate = TestUtil.createAccount(DELEGATE);
    ZMailbox mboxOrganizer = TestUtil.getZMailbox(ORGANIZER);
    ZMailbox mboxAttendee = TestUtil.getZMailbox(ATTENDEE);
    ZMailbox mboxDelegate = TestUtil.getZMailbox(DELEGATE);
    String subject = NAME_PREFIX + " for testing treatment at delegate inbox";
    Date startDate = new Date(System.currentTimeMillis() + Constants.MILLIS_PER_DAY);
    Date endDate = new Date(startDate.getTime() + Constants.MILLIS_PER_HOUR);
    String calendarId = Integer.valueOf(Mailbox.ID_FOLDER_CALENDAR).toString();
    FolderActionSelector action = new FolderActionSelector(calendarId, /* id */
    "grant");
    ActionGrantSelector grant = new ActionGrantSelector("rwidxa", /* perm */
    "usr");
    grant.setDisplayName(delegate.getName());
    grant.setPassword("");
    action.setGrant(grant);
    FolderActionRequest folderActionReq = new FolderActionRequest(action);
    FolderActionResponse folderActionResp = mboxAttendee.invokeJaxb(folderActionReq);
    assertNotNull("null FolderAction Response used to share folder", folderActionResp);
    ModifyPrefsRequest modPrefsReq = new ModifyPrefsRequest();
    Pref fwdInvitesPref = Pref.createPrefWithNameAndValue(ZAttrProvisioning.A_zimbraPrefCalendarForwardInvitesTo, delegate.getName());
    modPrefsReq.addPref(fwdInvitesPref);
    Pref noAutoAddPref = Pref.createPrefWithNameAndValue(ZAttrProvisioning.A_zimbraPrefCalendarAutoAddInvites, Boolean.FALSE.toString().toUpperCase());
    modPrefsReq.addPref(noAutoAddPref);
    ModifyPrefsResponse modPrefsResp = mboxAttendee.invokeJaxb(modPrefsReq);
    assertNotNull("null ModifyPrefs Response for forwarding calendar invites/no auto-add", modPrefsResp);
    NewMountpointSpec mpSpec = new NewMountpointSpec("Shared Calendar");
    mpSpec.setFlags("#");
    mpSpec.setRemoteId(Mailbox.ID_FOLDER_CALENDAR);
    mpSpec.setColor((byte) 4);
    mpSpec.setOwnerId(attendee.getId());
    mpSpec.setFolderId(Integer.valueOf(Mailbox.ID_FOLDER_USER_ROOT).toString());
    mpSpec.setDefaultView(MailItem.Type.APPOINTMENT.toString());
    CreateMountpointRequest createMpReq = new CreateMountpointRequest(mpSpec);
    CreateMountpointResponse createMpResp = mboxDelegate.invokeJaxb(createMpReq);
    assertNotNull("null ModifyPrefs Response for forwarding calendar invites", createMpResp);
    TestUtil.createAppointment(mboxOrganizer, subject, attendee.getName(), startDate, endDate);
    ZMessage inviteMsg = TestUtil.waitForMessage(mboxDelegate, "in:inbox " + subject);
    assertNotNull("null inviteMsg in delegate inbox", inviteMsg);
    MsgSpec msgSpec = new MsgSpec(inviteMsg.getId());
    msgSpec.setWantHtml(true);
    msgSpec.setNeedCanExpand(true);
    msgSpec.setMaxInlinedLength(250000);
    GetMsgRequest getMsgReq = new GetMsgRequest(msgSpec);
    GetMsgResponse getMsgResp = mboxDelegate.invokeJaxb(getMsgReq);
    assertNotNull("null GetMsgResponse in delegate inbox", getMsgResp);
    MsgWithGroupInfo msg = getMsgResp.getMsg();
    assertNotNull("null message in GetMsgResponse in delegate inbox", msg);
    InviteWithGroupInfo invite = msg.getInvite();
    assertNotNull("null invite in message in GetMsgResponse in delegate inbox regression to Bug 86864?", invite);
}
Also used : ZMessage(com.zimbra.client.ZMessage) Account(com.zimbra.cs.account.Account) CreateMountpointRequest(com.zimbra.soap.mail.message.CreateMountpointRequest) Pref(com.zimbra.soap.account.type.Pref) FolderActionResponse(com.zimbra.soap.mail.message.FolderActionResponse) GetMsgRequest(com.zimbra.soap.mail.message.GetMsgRequest) InviteWithGroupInfo(com.zimbra.soap.mail.type.InviteWithGroupInfo) ModifyPrefsRequest(com.zimbra.soap.account.message.ModifyPrefsRequest) MsgSpec(com.zimbra.soap.mail.type.MsgSpec) Date(java.util.Date) ActionGrantSelector(com.zimbra.soap.mail.type.ActionGrantSelector) FolderActionSelector(com.zimbra.soap.mail.type.FolderActionSelector) CreateMountpointResponse(com.zimbra.soap.mail.message.CreateMountpointResponse) ZMailbox(com.zimbra.client.ZMailbox) FolderActionRequest(com.zimbra.soap.mail.message.FolderActionRequest) MsgWithGroupInfo(com.zimbra.soap.mail.type.MsgWithGroupInfo) GetMsgResponse(com.zimbra.soap.mail.message.GetMsgResponse) ModifyPrefsResponse(com.zimbra.soap.account.message.ModifyPrefsResponse) NewMountpointSpec(com.zimbra.soap.mail.type.NewMountpointSpec)

Aggregations

FolderActionRequest (com.zimbra.soap.mail.message.FolderActionRequest)10 FolderActionSelector (com.zimbra.soap.mail.type.FolderActionSelector)10 FolderActionResponse (com.zimbra.soap.mail.message.FolderActionResponse)8 ZMailbox (com.zimbra.client.ZMailbox)7 Test (org.junit.Test)7 ActionGrantSelector (com.zimbra.soap.mail.type.ActionGrantSelector)6 ZFolder (com.zimbra.client.ZFolder)5 Account (com.zimbra.cs.account.Account)4 SendShareNotificationRequest (com.zimbra.soap.mail.message.SendShareNotificationRequest)4 SendShareNotificationResponse (com.zimbra.soap.mail.message.SendShareNotificationResponse)4 EmailAddrInfo (com.zimbra.soap.mail.type.EmailAddrInfo)4 ShareNotificationInfo (com.zimbra.soap.mail.type.ShareNotificationInfo)4 ServiceException (com.zimbra.common.service.ServiceException)3 CreateMountpointRequest (com.zimbra.soap.mail.message.CreateMountpointRequest)2 GetMsgRequest (com.zimbra.soap.mail.message.GetMsgRequest)2 MsgSpec (com.zimbra.soap.mail.type.MsgSpec)2 NewMountpointSpec (com.zimbra.soap.mail.type.NewMountpointSpec)2 ZMessage (com.zimbra.client.ZMessage)1 ZMountpoint (com.zimbra.client.ZMountpoint)1 ICalTimeZone (com.zimbra.common.calendar.ICalTimeZone)1