public FetchResponse build() { final FetchResponse result = new FetchResponse(msn, flags, uid, modSeq, internalDate, size, envelope, body, bodystructure, elements); return result; }
private void encodeEnvelope(final ImapResponseComposer composer, final FetchResponse fetchResponse) throws IOException { final FetchResponse.Envelope envelope = fetchResponse.getEnvelope(); encodeEnvelope(composer, envelope, true); }
private void encodeFlags(ImapResponseComposer composer, FetchResponse fetchResponse) throws IOException { final Flags flags = fetchResponse.getFlags(); if (flags != null) { composer.flags(flags); } }
protected void doEncode(ImapMessage acceptableMessage, ImapResponseComposer composer, ImapSession session) throws IOException { if (acceptableMessage instanceof FetchResponse) { final FetchResponse fetchResponse = (FetchResponse) acceptableMessage; final long messageNumber = fetchResponse.getMessageNumber(); composer.untagged().message(messageNumber).message(ImapConstants.FETCH_COMMAND_NAME).openParen(); encodeModSeq(composer, fetchResponse); encodeFlags(composer, fetchResponse); encodeInternalDate(composer, fetchResponse); encodeSize(composer, fetchResponse); encodeEnvelope(composer, fetchResponse); encodeBody(composer, fetchResponse.getBody(), session); encodeBodyStructure(composer, fetchResponse.getBodyStructure(), session); encodeUid(composer, fetchResponse); encodeBodyElements(composer, fetchResponse.getElements()); composer.closeParen().end(); } }
private void encodeModSeq(ImapResponseComposer composer, FetchResponse response) throws IOException { Long modSeq = response.getModSeq(); if (modSeq != null) { composer.message(ImapConstants.FETCH_MODSEQ); composer.openParen(); composer.skipNextSpace(); composer.message(modSeq); composer.closeParen(); } }
private void encodeInternalDate(ImapResponseComposer composer, final FetchResponse fetchResponse) throws IOException { final Date internalDate = fetchResponse.getInternalDate(); if (internalDate != null) { // TODO: add method to composer composer.message("INTERNALDATE"); composer.quote(EncoderUtils.encodeDateTime(internalDate)); } }
private void encodeSize(ImapResponseComposer composer, FetchResponse fetchResponse) throws IOException { final Long size = fetchResponse.getSize(); if (size != null) { // TODO: add method to composer composer.message("RFC822.SIZE"); composer.message(size.intValue()); } }
@Override protected void doEncode(ImapMessage acceptableMessage, ImapResponseComposer composer, ImapSession session) throws IOException { if (acceptableMessage instanceof FetchResponse) { final FetchResponse fetchResponse = (FetchResponse) acceptableMessage; final long messageNumber = fetchResponse.getMessageNumber(); composer.untagged().message(messageNumber).message(ImapConstants.FETCH_COMMAND_NAME).openParen(); encodeModSeq(composer, fetchResponse); encodeFlags(composer, fetchResponse); encodeInternalDate(composer, fetchResponse); encodeSize(composer, fetchResponse); encodeEnvelope(composer, fetchResponse); encodeBody(composer, fetchResponse.getBody(), session); encodeBodyStructure(composer, fetchResponse.getBodyStructure(), session); encodeUid(composer, fetchResponse); encodeBodyElements(composer, fetchResponse.getElements()); composer.closeParen().end(); } }
private void encodeModSeq(ImapResponseComposer composer, FetchResponse response) throws IOException { Long modSeq = response.getModSeq(); if (modSeq != null) { composer.message(ImapConstants.FETCH_MODSEQ); composer.openParen(); composer.skipNextSpace(); composer.message(modSeq); composer.closeParen(); } }
private void encodeInternalDate(ImapResponseComposer composer, FetchResponse fetchResponse) throws IOException { final Date internalDate = fetchResponse.getInternalDate(); if (internalDate != null) { // TODO: add method to composer composer.message("INTERNALDATE"); composer.quote(EncoderUtils.encodeDateTime(internalDate)); } }
private void encodeSize(ImapResponseComposer composer, final FetchResponse fetchResponse) throws IOException { final Long size = fetchResponse.getSize(); if (size != null) { // TODO: add method to composer composer.message("RFC822.SIZE"); composer.message(size.intValue()); } }
public FetchResponse build() { return new FetchResponse(msn, flags, uid, modSeq, internalDate, size, envelope, body, bodystructure, elements); }
private void encodeFlags(ImapResponseComposer composer, final FetchResponse fetchResponse) throws IOException { final Flags flags = fetchResponse.getFlags(); if (flags != null) { composer.flags(flags); } }
private void encodeEnvelope(ImapResponseComposer composer, FetchResponse fetchResponse) throws IOException { final FetchResponse.Envelope envelope = fetchResponse.getEnvelope(); encodeEnvelope(composer, envelope, true); }
@Test public void testShouldAcceptFetchResponse() { assertThat(encoder.isAcceptable(new FetchResponse(11, null, null, null, null, null, null, null, null, null))).isTrue(); }
@Test public void testShouldAcceptFetchResponse() { assertThat(encoder.isAcceptable(new FetchResponse(11, null, null, null, null, null, null, null, null, null))).isTrue(); }
@Before public void setUp() throws Exception { envelope = mock(FetchResponse.Envelope.class); bcc = null; cc = null; date = null; from = null; inReplyTo = null; messageId = null; replyTo = null; sender = null; subject = null; to = null; message = new FetchResponse(MSN, null, null, null, null, null, envelope, null, null, null); mockNextEncoder = mock(ImapEncoder.class); encoder = new FetchResponseEncoder(mockNextEncoder, false); }
@Test public void testShouldEncodeFlagsResponse() throws Exception { FetchResponse message = new FetchResponse(100, flags, null, null, null, null, null, null, null, null); encoder.doEncode(message, composer, new FakeImapSession()); assertThat(writer.getString()).isEqualTo("* 100 FETCH (FLAGS (\\Deleted))\r\n"); }
@Test public void testShouldEncodeFlagsResponse() throws Exception { FetchResponse message = new FetchResponse(100, flags, null, null, null, null, null, null, null, null); encoder.doEncode(message, composer, new FakeImapSession()); assertThat(writer.getString()).isEqualTo("* 100 FETCH (FLAGS (\\Deleted))\r\n"); }
@Test public void testShouldNotAddExtensionsWithEncodingBodyStructure() throws Exception { FetchResponse message = new FetchResponse(100, flags, MessageUid.of(72), null, null, null, null, null, stubStructure, null); final Map<String, String> parameters = new HashMap<>(); parameters.put("CHARSET", "US-ASCII"); final List<String> parameterList = new ArrayList<>(); parameterList.add("CHARSET"); parameterList.add("US-ASCII"); when(stubStructure.getMediaType()).thenReturn("TEXT"); when(stubStructure.getSubType()).thenReturn("HTML"); when(stubStructure.getOctets()).thenReturn(2279L); when(stubStructure.getLines()).thenReturn(48L); when(stubStructure.getParameters()).thenReturn(parameterList); when(stubStructure.getEncoding()).thenReturn("7BIT"); when(stubStructure.getId()).thenReturn(""); when(stubStructure.getDescription()).thenReturn(""); final FakeImapSession fakeImapSession = new FakeImapSession(); encoder.doEncode(message, composer, fakeImapSession); assertThat(writer.getString()).isEqualTo("* 100 FETCH (FLAGS (\\Deleted) BODYSTRUCTURE (\"TEXT\" \"HTML\" (\"CHARSET\" \"US-ASCII\") \"\" \"\" \"7BIT\" 2279 48) UID 72)\r\n"); } }