This is an automated email from the ASF dual-hosted git repository. rouazana pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/james-project.git
commit 1a607e7e6833fedd4c0c8f7f05f59cfea1ab4bba Author: Rémi Kowalski <rkowal...@linagora.com> AuthorDate: Wed Mar 6 15:55:26 2019 +0100 JAMES-2676 refactor zip header string id to little endian short --- .../james/mailbox/backup/FlagsExtraField.java | 4 ++-- .../mailbox/backup/InternalDateExtraField.java | 4 ++-- .../james/mailbox/backup/MailboxIdExtraField.java | 4 ++-- .../james/mailbox/backup/MessageIdExtraField.java | 4 ++-- .../james/mailbox/backup/SizeExtraField.java | 5 ++-- .../apache/james/mailbox/backup/UidExtraField.java | 4 ++-- .../mailbox/backup/UidValidityExtraField.java | 5 ++-- .../{UidExtraField.java => WithZipHeader.java} | 28 ++++++---------------- .../james/mailbox/backup/WithZipHeaderTest.java} | 28 +++++++++------------- 9 files changed, 34 insertions(+), 52 deletions(-) diff --git a/mailbox/backup/src/main/java/org/apache/james/mailbox/backup/FlagsExtraField.java b/mailbox/backup/src/main/java/org/apache/james/mailbox/backup/FlagsExtraField.java index d290472..3d7f7b3 100644 --- a/mailbox/backup/src/main/java/org/apache/james/mailbox/backup/FlagsExtraField.java +++ b/mailbox/backup/src/main/java/org/apache/james/mailbox/backup/FlagsExtraField.java @@ -28,9 +28,9 @@ import javax.mail.Flags; import org.apache.commons.compress.archivers.zip.ZipShort; import org.apache.james.util.StreamUtils; -public class FlagsExtraField extends StringExtraField { +public class FlagsExtraField extends StringExtraField implements WithZipHeader { - public static final ZipShort ID_AP = new ZipShort(0x7061); // "ap" in little-endian + public static final ZipShort ID_AP = new ZipShort(WithZipHeader.toLittleEndian('a', 'p')); private static String serializeFlags(Flags flags) { return Stream.concat( diff --git a/mailbox/backup/src/main/java/org/apache/james/mailbox/backup/InternalDateExtraField.java b/mailbox/backup/src/main/java/org/apache/james/mailbox/backup/InternalDateExtraField.java index 8d57370..0774647 100644 --- a/mailbox/backup/src/main/java/org/apache/james/mailbox/backup/InternalDateExtraField.java +++ b/mailbox/backup/src/main/java/org/apache/james/mailbox/backup/InternalDateExtraField.java @@ -24,9 +24,9 @@ import java.util.Optional; import org.apache.commons.compress.archivers.zip.ZipShort; -public class InternalDateExtraField extends LongExtraField { +public class InternalDateExtraField extends LongExtraField implements WithZipHeader { - public static final ZipShort ID_AO = new ZipShort(0x6F61); // "ao" in little-endian + public static final ZipShort ID_AO = new ZipShort(WithZipHeader.toLittleEndian('a', 'o')); public InternalDateExtraField() { super(); diff --git a/mailbox/backup/src/main/java/org/apache/james/mailbox/backup/MailboxIdExtraField.java b/mailbox/backup/src/main/java/org/apache/james/mailbox/backup/MailboxIdExtraField.java index c5bbaf1..5ca19db 100644 --- a/mailbox/backup/src/main/java/org/apache/james/mailbox/backup/MailboxIdExtraField.java +++ b/mailbox/backup/src/main/java/org/apache/james/mailbox/backup/MailboxIdExtraField.java @@ -24,9 +24,9 @@ import java.util.Optional; import org.apache.commons.compress.archivers.zip.ZipShort; import org.apache.james.mailbox.model.MailboxId; -public class MailboxIdExtraField extends StringExtraField { +public class MailboxIdExtraField extends StringExtraField implements WithZipHeader { - public static final ZipShort ID_AM = new ZipShort(0x6D61); // "am" in little-endian + public static final ZipShort ID_AM = new ZipShort(WithZipHeader.toLittleEndian('a', 'm')); public MailboxIdExtraField() { super(); diff --git a/mailbox/backup/src/main/java/org/apache/james/mailbox/backup/MessageIdExtraField.java b/mailbox/backup/src/main/java/org/apache/james/mailbox/backup/MessageIdExtraField.java index 1cbb1e2..46a971b 100644 --- a/mailbox/backup/src/main/java/org/apache/james/mailbox/backup/MessageIdExtraField.java +++ b/mailbox/backup/src/main/java/org/apache/james/mailbox/backup/MessageIdExtraField.java @@ -24,9 +24,9 @@ import java.util.Optional; import org.apache.commons.compress.archivers.zip.ZipShort; import org.apache.james.mailbox.model.MessageId; -public class MessageIdExtraField extends StringExtraField { +public class MessageIdExtraField extends StringExtraField implements WithZipHeader { - public static final ZipShort ID_AL = new ZipShort(0x6C61); // "al" in little-endian + public static final ZipShort ID_AL = new ZipShort(WithZipHeader.toLittleEndian('a', 'l')); public MessageIdExtraField() { super(); diff --git a/mailbox/backup/src/main/java/org/apache/james/mailbox/backup/SizeExtraField.java b/mailbox/backup/src/main/java/org/apache/james/mailbox/backup/SizeExtraField.java index f932879..4ff486b 100644 --- a/mailbox/backup/src/main/java/org/apache/james/mailbox/backup/SizeExtraField.java +++ b/mailbox/backup/src/main/java/org/apache/james/mailbox/backup/SizeExtraField.java @@ -22,8 +22,9 @@ import java.util.Optional; import org.apache.commons.compress.archivers.zip.ZipShort; -public class SizeExtraField extends LongExtraField { - public static final ZipShort ID_AJ = new ZipShort(0x6A61); // "aj" in little-endian +public class SizeExtraField extends LongExtraField implements WithZipHeader { + + public static final ZipShort ID_AJ = new ZipShort(WithZipHeader.toLittleEndian('a', 'j')); public SizeExtraField() { super(); diff --git a/mailbox/backup/src/main/java/org/apache/james/mailbox/backup/UidExtraField.java b/mailbox/backup/src/main/java/org/apache/james/mailbox/backup/UidExtraField.java index f70585c..6d2ad35 100644 --- a/mailbox/backup/src/main/java/org/apache/james/mailbox/backup/UidExtraField.java +++ b/mailbox/backup/src/main/java/org/apache/james/mailbox/backup/UidExtraField.java @@ -23,9 +23,9 @@ import java.util.Optional; import org.apache.commons.compress.archivers.zip.ZipShort; -public class UidExtraField extends LongExtraField { +public class UidExtraField extends LongExtraField implements WithZipHeader { - public static final ZipShort ID_AK = new ZipShort(0x6B61); // "ak" in little-endian + public static final ZipShort ID_AK = new ZipShort(WithZipHeader.toLittleEndian('a', 'k')); public UidExtraField() { super(); diff --git a/mailbox/backup/src/main/java/org/apache/james/mailbox/backup/UidValidityExtraField.java b/mailbox/backup/src/main/java/org/apache/james/mailbox/backup/UidValidityExtraField.java index 28b4730..0fb9d23 100644 --- a/mailbox/backup/src/main/java/org/apache/james/mailbox/backup/UidValidityExtraField.java +++ b/mailbox/backup/src/main/java/org/apache/james/mailbox/backup/UidValidityExtraField.java @@ -22,8 +22,9 @@ import java.util.Optional; import org.apache.commons.compress.archivers.zip.ZipShort; -public class UidValidityExtraField extends LongExtraField { - public static final ZipShort ID_AN = new ZipShort(0x6E61); // "an" in little-endian +public class UidValidityExtraField extends LongExtraField implements WithZipHeader { + + public static final ZipShort ID_AN = new ZipShort(WithZipHeader.toLittleEndian('a', 'n')); public UidValidityExtraField() { super(); diff --git a/mailbox/backup/src/main/java/org/apache/james/mailbox/backup/UidExtraField.java b/mailbox/backup/src/main/java/org/apache/james/mailbox/backup/WithZipHeader.java similarity index 71% copy from mailbox/backup/src/main/java/org/apache/james/mailbox/backup/UidExtraField.java copy to mailbox/backup/src/main/java/org/apache/james/mailbox/backup/WithZipHeader.java index f70585c..873142f 100644 --- a/mailbox/backup/src/main/java/org/apache/james/mailbox/backup/UidExtraField.java +++ b/mailbox/backup/src/main/java/org/apache/james/mailbox/backup/WithZipHeader.java @@ -16,31 +16,17 @@ * specific language governing permissions and limitations * * under the License. * ****************************************************************/ - package org.apache.james.mailbox.backup; -import java.util.Optional; - -import org.apache.commons.compress.archivers.zip.ZipShort; - -public class UidExtraField extends LongExtraField { - - public static final ZipShort ID_AK = new ZipShort(0x6B61); // "ak" in little-endian +import java.nio.ByteOrder; +import java.nio.CharBuffer; - public UidExtraField() { - super(); - } - - public UidExtraField(long value) { - super(value); - } +import org.apache.james.mime4j.Charsets; - public UidExtraField(Optional<Long> value) { - super(value); - } +public interface WithZipHeader { - @Override - public ZipShort getHeaderId() { - return ID_AK; + static int toLittleEndian(char lowByte, char highByte) { + char[] chars = new char[]{lowByte, highByte}; + return Charsets.US_ASCII.encode(CharBuffer.wrap(chars)).order(ByteOrder.LITTLE_ENDIAN).getShort(); } } diff --git a/mailbox/backup/src/main/java/org/apache/james/mailbox/backup/SizeExtraField.java b/mailbox/backup/src/test/java/org/apache/james/mailbox/backup/WithZipHeaderTest.java similarity index 70% copy from mailbox/backup/src/main/java/org/apache/james/mailbox/backup/SizeExtraField.java copy to mailbox/backup/src/test/java/org/apache/james/mailbox/backup/WithZipHeaderTest.java index f932879..9a9552c 100644 --- a/mailbox/backup/src/main/java/org/apache/james/mailbox/backup/SizeExtraField.java +++ b/mailbox/backup/src/test/java/org/apache/james/mailbox/backup/WithZipHeaderTest.java @@ -18,27 +18,21 @@ ****************************************************************/ package org.apache.james.mailbox.backup; -import java.util.Optional; +import static org.assertj.core.api.Assertions.assertThat; -import org.apache.commons.compress.archivers.zip.ZipShort; +import org.junit.jupiter.api.Test; -public class SizeExtraField extends LongExtraField { - public static final ZipShort ID_AJ = new ZipShort(0x6A61); // "aj" in little-endian +class WithZipHeaderTest { + private static final short al = 0x6C61; + private static final short aq = 0x7161; - public SizeExtraField() { - super(); + @Test + void toLittleEndianShouldReturnLittleEndianRepresentationOfStringAl() { + assertThat(WithZipHeader.toLittleEndian('a', 'l')).isEqualTo(al); } - public SizeExtraField(long value) { - super(value); - } - - public SizeExtraField(Optional<Long> value) { - super(value); - } - - @Override - public ZipShort getHeaderId() { - return ID_AJ; + @Test + void toLittleEndianShouldReturnLittleEndianRepresentationOfStringAq() { + assertThat(WithZipHeader.toLittleEndian('a', 'q')).isEqualTo(aq); } } --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org