This is an automated email from the ASF dual-hosted git repository. matthieu pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 853b846e1687306ccf95c99f4b89e307d28543a9 Author: Matthieu Baechler <matth...@apache.org> AuthorDate: Thu Nov 7 22:15:18 2019 +0100 [Refactoring] CharsetUtils now only handle utf7, change it accordingly --- .../{CharsetUtil.java => ModifiedUtf7.java} | 31 +++++++++------------- .../james/imap/decode/ImapRequestLineReader.java | 6 ++--- .../james/imap/encode/ImapResponseComposer.java | 4 +-- .../imap/encode/base/ImapResponseComposerImpl.java | 4 +-- .../apache/james/imap/processor/LSubProcessor.java | 6 ++--- .../apache/james/imap/processor/ListProcessor.java | 8 +++--- 6 files changed, 27 insertions(+), 32 deletions(-) diff --git a/protocols/imap/src/main/java/org/apache/james/imap/api/display/CharsetUtil.java b/protocols/imap/src/main/java/org/apache/james/imap/api/display/ModifiedUtf7.java similarity index 71% rename from protocols/imap/src/main/java/org/apache/james/imap/api/display/CharsetUtil.java rename to protocols/imap/src/main/java/org/apache/james/imap/api/display/ModifiedUtf7.java index 915716c..f132e87 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/api/display/CharsetUtil.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/api/display/ModifiedUtf7.java @@ -24,36 +24,31 @@ import java.nio.charset.Charset; import com.beetstra.jutf7.CharsetProvider; /** - * Utility class which can be used to get a list of supported {@link Charset}'s - * - * Beside this it has some methods included which helps to encode/decode modified UTF7 + * This class has some methods included which helps to encode/decode modified UTF7 */ -public class CharsetUtil { +public class ModifiedUtf7 { - private static final String X_MODIFIED_UTF_7 = "X-MODIFIED-UTF-7"; - private static final Charset X_MODIFIED_UTF_7_CHARSET = new CharsetProvider().charsetForName(X_MODIFIED_UTF_7); + private static final Charset X_MODIFIED_UTF_7_CHARSET = new CharsetProvider().charsetForName("X-MODIFIED-UTF-7"); /** * Decode the given UTF7 encoded <code>String</code> - * - * @return decoded + * + * @param input utf7-encoded value + * @return decoded value */ - public static String decodeModifiedUTF7(String string) { - return X_MODIFIED_UTF_7_CHARSET.decode(ByteBuffer.wrap(string.getBytes())).toString(); - + public static String decodeModifiedUTF7(String input) { + return X_MODIFIED_UTF_7_CHARSET.decode(ByteBuffer.wrap(input.getBytes())).toString(); } - /** * Encode the given <code>String</code> to modified UTF7. * See RFC3501 for more details - * - * @return encoded + * + * @param input + * @return utf7-encoded value */ - - public static String encodeModifiedUTF7(String string) { - ByteBuffer encode = X_MODIFIED_UTF_7_CHARSET.encode(string); + public static String encodeModifiedUTF7(String input) { + ByteBuffer encode = X_MODIFIED_UTF_7_CHARSET.encode(input); return new String(encode.array(), 0, encode.remaining()); - } } diff --git a/protocols/imap/src/main/java/org/apache/james/imap/decode/ImapRequestLineReader.java b/protocols/imap/src/main/java/org/apache/james/imap/decode/ImapRequestLineReader.java index 233d450..0981fa0 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/decode/ImapRequestLineReader.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/decode/ImapRequestLineReader.java @@ -35,8 +35,8 @@ import java.util.List; import javax.mail.Flags; import org.apache.james.imap.api.ImapConstants; -import org.apache.james.imap.api.display.CharsetUtil; import org.apache.james.imap.api.display.HumanReadableText; +import org.apache.james.imap.api.display.ModifiedUtf7; import org.apache.james.imap.api.message.IdRange; import org.apache.james.imap.api.message.UidRange; import org.apache.james.imap.api.message.request.DayMonthYear; @@ -240,7 +240,7 @@ public abstract class ImapRequestLineReader { /** * - * Reads the mailbox name via {@link #mailboxUTF7()} but also decode it via {@link CharsetUtil#decodeModifiedUTF7(String)} + * Reads the mailbox name via {@link #mailboxUTF7()} but also decode it via {@link ModifiedUtf7#decodeModifiedUTF7(String)} * * If you really want to get the modified UTF7 version you should use {@link #mailboxUTF7()} * @@ -248,7 +248,7 @@ public abstract class ImapRequestLineReader { * */ public String mailbox() throws DecodingException { - return CharsetUtil.decodeModifiedUTF7(mailboxUTF7()); + return ModifiedUtf7.decodeModifiedUTF7(mailboxUTF7()); } /** diff --git a/protocols/imap/src/main/java/org/apache/james/imap/encode/ImapResponseComposer.java b/protocols/imap/src/main/java/org/apache/james/imap/encode/ImapResponseComposer.java index 6df18b2..3018d2b 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/encode/ImapResponseComposer.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/encode/ImapResponseComposer.java @@ -24,7 +24,7 @@ import java.io.IOException; import javax.mail.Flags; import org.apache.james.imap.api.ImapCommand; -import org.apache.james.imap.api.display.CharsetUtil; +import org.apache.james.imap.api.display.ModifiedUtf7; import org.apache.james.imap.api.message.IdRange; import org.apache.james.imap.api.message.UidRange; import org.apache.james.imap.message.response.Literal; @@ -112,7 +112,7 @@ public interface ImapResponseComposer { /** * First encodes the given {@code mailboxName} using - * {@link CharsetUtil#encodeModifiedUTF7(String)} and then quotes the result + * {@link ModifiedUtf7#encodeModifiedUTF7(String)} and then quotes the result * with {@link #quote(String)}. * * @param mailboxName diff --git a/protocols/imap/src/main/java/org/apache/james/imap/encode/base/ImapResponseComposerImpl.java b/protocols/imap/src/main/java/org/apache/james/imap/encode/base/ImapResponseComposerImpl.java index ce7e575..b3a1e5d 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/encode/base/ImapResponseComposerImpl.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/encode/base/ImapResponseComposerImpl.java @@ -26,7 +26,7 @@ import javax.mail.Flags; import org.apache.james.imap.api.ImapCommand; import org.apache.james.imap.api.ImapConstants; -import org.apache.james.imap.api.display.CharsetUtil; +import org.apache.james.imap.api.display.ModifiedUtf7; import org.apache.james.imap.api.message.IdRange; import org.apache.james.imap.api.message.UidRange; import org.apache.james.imap.encode.ImapResponseComposer; @@ -237,7 +237,7 @@ public class ImapResponseComposerImpl implements ImapConstants, ImapResponseComp @Override public ImapResponseComposer mailbox(String mailboxName) throws IOException { - quote(CharsetUtil.encodeModifiedUTF7(mailboxName)); + quote(ModifiedUtf7.encodeModifiedUTF7(mailboxName)); return this; } diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/LSubProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/LSubProcessor.java index 3befe65..a7a6115 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/processor/LSubProcessor.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/LSubProcessor.java @@ -25,8 +25,8 @@ import java.util.Collection; import org.apache.james.imap.api.ImapCommand; import org.apache.james.imap.api.ImapSessionUtils; -import org.apache.james.imap.api.display.CharsetUtil; import org.apache.james.imap.api.display.HumanReadableText; +import org.apache.james.imap.api.display.ModifiedUtf7; import org.apache.james.imap.api.message.response.StatusResponseFactory; import org.apache.james.imap.api.process.ImapProcessor; import org.apache.james.imap.api.process.ImapSession; @@ -71,11 +71,11 @@ public class LSubProcessor extends AbstractSubscriptionProcessor<LsubRequest> { MailboxSession mailboxSession = ImapSessionUtils.getMailboxSession(session); Collection<String> mailboxes = getSubscriptionManager().subscriptions(mailboxSession); - String decodedMailName = CharsetUtil.decodeModifiedUTF7(referenceName); + String decodedMailName = ModifiedUtf7.decodeModifiedUTF7(referenceName); MailboxNameExpression expression = new PrefixedRegex( decodedMailName, - CharsetUtil.decodeModifiedUTF7(mailboxName), + ModifiedUtf7.decodeModifiedUTF7(mailboxName), mailboxSession.getPathDelimiter()); Collection<String> mailboxResponses = new ArrayList<>(); diff --git a/protocols/imap/src/main/java/org/apache/james/imap/processor/ListProcessor.java b/protocols/imap/src/main/java/org/apache/james/imap/processor/ListProcessor.java index f1972bd..7170415 100644 --- a/protocols/imap/src/main/java/org/apache/james/imap/processor/ListProcessor.java +++ b/protocols/imap/src/main/java/org/apache/james/imap/processor/ListProcessor.java @@ -26,8 +26,8 @@ import java.util.List; import org.apache.james.imap.api.ImapCommand; import org.apache.james.imap.api.ImapMessage; import org.apache.james.imap.api.ImapSessionUtils; -import org.apache.james.imap.api.display.CharsetUtil; import org.apache.james.imap.api.display.HumanReadableText; +import org.apache.james.imap.api.display.ModifiedUtf7; import org.apache.james.imap.api.message.response.ImapResponseMessage; import org.apache.james.imap.api.message.response.StatusResponseFactory; import org.apache.james.imap.api.process.ImapProcessor; @@ -104,7 +104,7 @@ public class ListProcessor extends AbstractMailboxProcessor<ListRequest> { } else { referenceRoot = referenceName.substring(0, firstDelimiter); } - referenceRoot = CharsetUtil.decodeModifiedUTF7(referenceRoot); + referenceRoot = ModifiedUtf7.decodeModifiedUTF7(referenceRoot); } else { // A relative reference name, return "" to indicate it is // non-rooted @@ -127,7 +127,7 @@ public class ListProcessor extends AbstractMailboxProcessor<ListRequest> { // Is the interpreted (combined) pattern relative? isRelative = ((finalReferencename + mailboxName).charAt(0) != MailboxConstants.NAMESPACE_PREFIX_CHAR); - finalReferencename = CharsetUtil.decodeModifiedUTF7(finalReferencename); + finalReferencename = ModifiedUtf7.decodeModifiedUTF7(finalReferencename); MailboxPath basePath = null; if (isRelative) { @@ -141,7 +141,7 @@ public class ListProcessor extends AbstractMailboxProcessor<ListRequest> { .userAndNamespaceFrom(basePath) .expression(new PrefixedRegex( basePath.getName(), - CharsetUtil.decodeModifiedUTF7(mailboxName), + ModifiedUtf7.decodeModifiedUTF7(mailboxName), mailboxSession.getPathDelimiter())) .build(), mailboxSession); } --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org