@Override protected void doProcess(CompressRequest request, Responder responder, ImapSession session) { if (session.isCompressionSupported()) { Object obj = session.getAttribute(COMPRESSED); if (obj != null) { responder.respond(factory.taggedNo(request.getTag(), request.getCommand(), HumanReadableText.COMPRESS_ALREADY_ACTIVE)); } else { if (request.getAlgorithm().equalsIgnoreCase(ALGO) == false) { responder.respond(factory.taggedBad(request.getTag(), request.getCommand(), HumanReadableText.ILLEGAL_ARGUMENTS)); } else { responder.respond(factory.taggedOk(request.getTag(), request.getCommand(), HumanReadableText.DEFLATE_ACTIVE)); if (session.startCompression()) { session.setAttribute(COMPRESSED, true); } } } } else { responder.respond(factory.taggedBad(request.getTag(), request.getCommand(), HumanReadableText.UNKNOWN_COMMAND)); } }
/** * @see * org.apache.james.imap.processor.base.AbstractChainedProcessor#doProcess(org.apache.james.imap.api.ImapMessage, * org.apache.james.imap.api.process.ImapProcessor.Responder, * org.apache.james.imap.api.process.ImapSession) */ protected void doProcess(CompressRequest request, Responder responder, ImapSession session) { if (session.isCompressionSupported()) { Object obj = session.getAttribute(COMPRESSED); if (obj != null) { responder.respond(factory.taggedNo(request.getTag(), request.getCommand(), HumanReadableText.COMPRESS_ALREADY_ACTIVE)); } else { if (request.getAlgorithm().equalsIgnoreCase(ALGO) == false) { responder.respond(factory.taggedBad(request.getTag(), request.getCommand(), HumanReadableText.ILLEGAL_ARGUMENTS)); } else { responder.respond(factory.taggedOk(request.getTag(), request.getCommand(), HumanReadableText.DEFLATE_ACTIVE)); if (session.startCompression()) { session.setAttribute(COMPRESSED, true); } } } } else { responder.respond(factory.taggedBad(request.getTag(), request.getCommand(), HumanReadableText.UNKNOWN_COMMAND)); } }