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

Reply via email to