use of com.zimbra.soap.mail.message.MsgActionRequest in project zm-mailbox by Zimbra.
the class SearchAction method performReadUnreadAction.
private static void performReadUnreadAction(SearchRequest searchRequest, List<SearchHit> searchHits, Mailbox mbox, String op) throws ServiceException, AuthTokenException, IOException, HttpException {
Account acct = mbox.getAccount();
Server server = Provisioning.getInstance().getServer(acct);
String url = URLUtil.getSoapURL(server, false);
SoapHttpTransport transport = new SoapHttpTransport(url);
transport.setAuthToken(AuthProvider.getAuthToken(acct).getEncoded());
transport.setTargetAcctId(acct.getId());
if ("message".equalsIgnoreCase(searchRequest.getSearchTypes())) {
MsgActionRequest req = getMsgActionRequest(searchHits, op);
transport.invokeWithoutSession(JaxbUtil.jaxbToElement(req));
} else if ("conversation".equalsIgnoreCase(searchRequest.getSearchTypes())) {
ConvActionRequest req = getConvActionRequest(searchHits, op);
transport.invokeWithoutSession(JaxbUtil.jaxbToElement(req));
} else {
throw ServiceException.INVALID_REQUEST("Invalid target search type", null);
}
}
use of com.zimbra.soap.mail.message.MsgActionRequest in project zm-mailbox by Zimbra.
the class SearchAction method getMsgActionRequest.
public static MsgActionRequest getMsgActionRequest(List<SearchHit> searchHits, String op) {
StringBuilder Ids = new StringBuilder();
for (SearchHit searchHit : searchHits) {
String id = searchHit.getId();
Ids.append(id);
Ids.append(",");
}
String IdsStr = Ids.length() > 0 ? Ids.substring(0, Ids.length() - 1) : "";
ActionSelector actionSelector = new ActionSelector(IdsStr, op);
MsgActionRequest req = new MsgActionRequest(actionSelector);
return req;
}
use of com.zimbra.soap.mail.message.MsgActionRequest in project zm-mailbox by Zimbra.
the class TestTags method testAddTag.
@SuppressWarnings("deprecation")
@Test
public void testAddTag() throws Exception {
CreateTagRequest createTagReq = new CreateTagRequest();
TagSpec tag = new TagSpec("tag150146840461812563");
tag.setColor((byte) 5);
createTagReq.setTag(tag);
ZMailbox zMbox = TestUtil.getZMailbox(USER);
CreateTagResponse createResp = zMbox.invokeJaxb(createTagReq);
assertNotNull("CreateTagResponse should not be null", createResp);
TagInfo createdTag = createResp.getTag();
assertNotNull("CreateTagResponse/tag should not be null", createdTag);
assertNotNull("Created tag should have an ID", createdTag.getId());
assertNotNull("Created tag should have a color", createdTag.getColor());
assertTrue("Color of created tag should be 5", createdTag.getColor() == (byte) 5);
// use "update" and "t" element
ActionSelector msgAction = ActionSelector.createForIdsAndOperation(Integer.toString(mMessage1.getId()), MailConstants.OP_UPDATE);
msgAction.setTags(createdTag.getId());
MsgActionRequest msgActionReq = new MsgActionRequest(msgAction);
MsgActionResponse msgActionResp = zMbox.invokeJaxb(msgActionReq);
assertNotNull("MsgActionResponse should not be null", msgActionResp);
ActionResult res = msgActionResp.getAction();
assertNotNull("MsgActionResponse/action should not be null", res);
// use "tag" and "tag" element
msgAction = ActionSelector.createForIdsAndOperation(Integer.toString(mMessage3.getId()), MailConstants.OP_TAG);
msgAction.setTag(Integer.parseInt(createdTag.getId()));
msgActionReq = new MsgActionRequest(msgAction);
msgActionResp = zMbox.invokeJaxb(msgActionReq);
assertNotNull("MsgActionResponse should not be null", msgActionResp);
res = msgActionResp.getAction();
assertNotNull("MsgActionResponse/action should not be null", res);
}
Aggregations