Search in sources :

Example 1 with NewContactAttr

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

the class ZMailbox method addAttrsAndAttachmentsToContact.

private static void addAttrsAndAttachmentsToContact(SpecifyContact<? extends NewContactAttr, ? extends NewContactGroupMember> contactSpec, Map<String, String> attrs, Map<String, ZAttachmentInfo> attachments) {
    if (attrs != null) {
        for (Map.Entry<String, String> entry : attrs.entrySet()) {
            contactSpec.addAttrWithNameAndValue(entry.getKey(), entry.getValue().trim());
        }
    }
    if (attachments != null) {
        for (String name : attachments.keySet()) {
            ZAttachmentInfo info = attachments.get(name);
            NewContactAttr attach = contactSpec.addAttrWithName(name);
            if (info.getAttachmentId() != null) {
                attach.setAttachId(info.getAttachmentId());
            } else if (info.getItemId() != null) {
                attach.setId(Integer.parseInt(info.getItemId()));
                attach.setPart(info.getPartName());
            } else if (info.getPartName() != null) {
                attach.setPart(info.getPartName());
            }
        }
    }
}
Also used : NewContactAttr(com.zimbra.soap.mail.type.NewContactAttr) Map(java.util.Map) ImmutableMap(com.google.common.collect.ImmutableMap) HashMap(java.util.HashMap)

Example 2 with NewContactAttr

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

the class TestContactGroup method createAndGetContactGroup.

@Test
@Bug(bug = 70558)
public void createAndGetContactGroup() throws Exception {
    SoapTransport transport = authUser(acct.getName());
    /*
         * search gal to get ref of the member account in GAL
         */
    SearchGalRequest searchGalReq = new SearchGalRequest();
    searchGalReq.setName(memberAcct.getName());
    SearchGalResponse searchGalResp = invokeJaxb(transport, searchGalReq);
    List<ContactInfo> entries = searchGalResp.getContacts();
    assertEquals(1, entries.size());
    ContactInfo galEntry = entries.get(0);
    String galMemberRef = galEntry.getReference();
    /*
         * create a contact group
         */
    NewContactGroupMember contactGroupMemer = NewContactGroupMember.createForTypeAndValue(ContactGroup.Member.Type.GAL_REF.getSoapEncoded(), galMemberRef);
    NewContactAttr contactAttr = new NewContactAttr(ContactConstants.A_type);
    contactAttr.setValue(ContactConstants.TYPE_GROUP);
    ContactSpec contactSpec = new ContactSpec();
    contactSpec.addAttr(contactAttr);
    contactSpec.addContactGroupMember(contactGroupMemer);
    CreateContactRequest createContactReq = new CreateContactRequest(contactSpec);
    CreateContactResponse createContactResp = invokeJaxb(transport, createContactReq);
    String contactGroupId = createContactResp.getContact().getId();
    /*
         * get the contact group, derefed
         */
    GetContactsRequest getContactsReq = new GetContactsRequest();
    getContactsReq.addContact(new Id(contactGroupId));
    getContactsReq.setDerefGroupMember(Boolean.TRUE);
    GetContactsResponse getContactsResp = invokeJaxb(transport, getContactsReq, SoapProtocol.SoapJS);
    List<com.zimbra.soap.mail.type.ContactInfo> contacts = getContactsResp.getContacts();
    assertEquals(1, contacts.size());
    com.zimbra.soap.mail.type.ContactInfo contact = contacts.get(0);
    List<ContactGroupMember> members = contact.getContactGroupMembers();
    assertEquals(1, members.size());
    ContactGroupMember member = members.get(0);
    String memberType = member.getType();
    String memberValue = member.getValue();
    assertEquals(ContactGroup.Member.Type.GAL_REF.getSoapEncoded(), memberType);
    assertEquals(galMemberRef, memberValue);
}
Also used : ContactSpec(com.zimbra.soap.mail.type.ContactSpec) ContactGroupMember(com.zimbra.soap.mail.type.ContactGroupMember) NewContactGroupMember(com.zimbra.soap.mail.type.NewContactGroupMember) SearchGalResponse(com.zimbra.soap.account.message.SearchGalResponse) CreateContactResponse(com.zimbra.soap.mail.message.CreateContactResponse) SearchGalRequest(com.zimbra.soap.account.message.SearchGalRequest) CreateContactRequest(com.zimbra.soap.mail.message.CreateContactRequest) GetContactsResponse(com.zimbra.soap.mail.message.GetContactsResponse) GetContactsRequest(com.zimbra.soap.mail.message.GetContactsRequest) NewContactAttr(com.zimbra.soap.mail.type.NewContactAttr) ContactInfo(com.zimbra.soap.account.type.ContactInfo) NewContactGroupMember(com.zimbra.soap.mail.type.NewContactGroupMember) Id(com.zimbra.soap.type.Id) SoapTransport(com.zimbra.common.soap.SoapTransport) Test(org.junit.Test) Bug(com.zimbra.qa.QA.Bug)

Aggregations

NewContactAttr (com.zimbra.soap.mail.type.NewContactAttr)2 ImmutableMap (com.google.common.collect.ImmutableMap)1 SoapTransport (com.zimbra.common.soap.SoapTransport)1 Bug (com.zimbra.qa.QA.Bug)1 SearchGalRequest (com.zimbra.soap.account.message.SearchGalRequest)1 SearchGalResponse (com.zimbra.soap.account.message.SearchGalResponse)1 ContactInfo (com.zimbra.soap.account.type.ContactInfo)1 CreateContactRequest (com.zimbra.soap.mail.message.CreateContactRequest)1 CreateContactResponse (com.zimbra.soap.mail.message.CreateContactResponse)1 GetContactsRequest (com.zimbra.soap.mail.message.GetContactsRequest)1 GetContactsResponse (com.zimbra.soap.mail.message.GetContactsResponse)1 ContactGroupMember (com.zimbra.soap.mail.type.ContactGroupMember)1 ContactSpec (com.zimbra.soap.mail.type.ContactSpec)1 NewContactGroupMember (com.zimbra.soap.mail.type.NewContactGroupMember)1 Id (com.zimbra.soap.type.Id)1 HashMap (java.util.HashMap)1 Map (java.util.Map)1 Test (org.junit.Test)1