Skip to content

Commit a8f7922

Browse files
committed
Merge branch 'v07-add-jackson-dataformat' of github.com:msgpack/msgpack-java into v07-add-jackson-dataformat
2 parents a2bc049 + 8c50d09 commit a8f7922

13 files changed

Lines changed: 69 additions & 32 deletions

File tree

msgpack-core/src/main/java/org/msgpack/value/impl/MapCursorImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ public void accept(ValueVisitor visitor) {
109109
@Override
110110
public MapValue toValue() {
111111
ensureNotTraversed();
112-
Value[] keyValueArray = new Value[mapSize];
112+
Value[] keyValueArray = new Value[mapSize * 2];
113113
int i = 0;
114114
while(hasNext()) {
115115
keyValueArray[i++] = nextKeyOrValue().toValue();

msgpack-core/src/test/scala/org/msgpack/core/MessagePackTest.scala

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
package org.msgpack.core
22

3+
import org.msgpack.value.Value
4+
import org.msgpack.value.holder.ValueHolder
5+
6+
import scala.collection.mutable.ListBuffer
37
import scala.util.Random
48
import MessagePack.Code
59
import java.io.ByteArrayOutputStream
@@ -413,5 +417,36 @@ class MessagePackTest extends MessagePackSpec {
413417

414418
}
415419

420+
"pack/unpack maps in lists" in {
421+
val aMap = List(Map("f" -> "x"))
422+
423+
check(aMap, { packer =>
424+
packer.packArrayHeader(aMap.size)
425+
for (m <- aMap) {
426+
packer.packMapHeader(m.size)
427+
for ((k, v) <- m) {
428+
packer.packString(k)
429+
packer.packString(v)
430+
}
431+
}
432+
}, { unpacker =>
433+
val holder = new ValueHolder()
434+
unpacker.unpackValue(holder)
435+
val v = holder.get()
436+
437+
v.asArrayValue().toValueArray.map { m =>
438+
val mv = m.asMapValue()
439+
val kvs = mv.toKeyValueSeq
440+
441+
kvs.grouped(2).map({ kvp: Array[Value] =>
442+
val k = kvp(0)
443+
val v = kvp(1)
444+
445+
(k.asString().toString, v.asString().toString)
446+
}).toMap
447+
}.toList
448+
})
449+
}
450+
416451
}
417452
}

msgpack-core/src/test/scala/org/msgpack/value/CursorTest.scala

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,24 @@ class CursorTest extends MessagePackSpec {
5252
}
5353
}
5454

55+
"have map cursor" taggedAs("map") in {
56+
val packedData = createMessagePackData { packer =>
57+
packer packMapHeader(1) packString("f") packString("x")
58+
}
59+
60+
val cursor = msgpack.newUnpacker(packedData).getCursor
61+
val mapCursor = cursor.nextRef().getMapCursor
62+
mapCursor.size() shouldBe 1
63+
64+
val mapValue = mapCursor.toValue
65+
val data = mapValue.toKeyValueSeq
66+
67+
data should have length 2
68+
69+
data(0).asString().toString shouldBe "f"
70+
data(1).asString().toString shouldBe "x"
71+
}
72+
5573
"traverse ValueRef faster than traversing Value" taggedAs("ref") in {
5674
val N = 10000
5775
val data = binSeq(N)

msgpack-jackson/src/main/java/org/msgpack/jackson/dataformat/msgpack/MessagePackFactory.java renamed to msgpack-jackson/src/main/java/org/msgpack/jackson/dataformat/MessagePackFactory.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,12 @@
1-
package org.msgpack.jackson.dataformat.msgpack;
1+
package org.msgpack.jackson.dataformat;
22

33
import com.fasterxml.jackson.core.*;
44
import com.fasterxml.jackson.core.io.IOContext;
55

6-
import java.io.ByteArrayInputStream;
76
import java.io.IOException;
87
import java.io.InputStream;
98
import java.io.OutputStream;
10-
import java.nio.ByteBuffer;
119
import java.util.Arrays;
12-
import java.util.List;
1310

1411
public class MessagePackFactory extends JsonFactory {
1512
private static final long serialVersionUID = 2578263992015504347L;

msgpack-jackson/src/main/java/org/msgpack/jackson/dataformat/msgpack/MessagePackGenerator.java renamed to msgpack-jackson/src/main/java/org/msgpack/jackson/dataformat/MessagePackGenerator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.msgpack.jackson.dataformat.msgpack;
1+
package org.msgpack.jackson.dataformat;
22

33
import com.fasterxml.jackson.core.Base64Variant;
44
import com.fasterxml.jackson.core.JsonGenerationException;

msgpack-jackson/src/main/java/org/msgpack/jackson/dataformat/msgpack/MessagePackParser.java renamed to msgpack-jackson/src/main/java/org/msgpack/jackson/dataformat/MessagePackParser.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.msgpack.jackson.dataformat.msgpack;
1+
package org.msgpack.jackson.dataformat;
22

33
import com.fasterxml.jackson.core.*;
44
import com.fasterxml.jackson.core.base.ParserMinimalBase;

msgpack-jackson/src/test/java/org/msgpack/jackson/dataformat/msgpack/MessagePackDataformatForPojoTest.java renamed to msgpack-jackson/src/test/java/org/msgpack/jackson/dataformat/MessagePackDataformatForPojoTest.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,8 @@
1-
package org.msgpack.jackson.dataformat.msgpack;
1+
package org.msgpack.jackson.dataformat;
22

3-
import com.fasterxml.jackson.annotation.JsonIgnore;
4-
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
5-
import com.fasterxml.jackson.annotation.JsonProperty;
63
import org.junit.Test;
74

85
import java.io.IOException;
9-
import java.math.BigInteger;
106
import java.util.Arrays;
117

128
import static org.junit.Assert.assertEquals;

msgpack-jackson/src/test/java/org/msgpack/jackson/dataformat/msgpack/MessagePackDataformatTestBase.java renamed to msgpack-jackson/src/test/java/org/msgpack/jackson/dataformat/MessagePackDataformatTestBase.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.msgpack.jackson.dataformat.msgpack;
1+
package org.msgpack.jackson.dataformat;
22

33
import com.fasterxml.jackson.annotation.JsonIgnore;
44
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@@ -8,6 +8,7 @@
88
import org.apache.commons.math3.stat.descriptive.moment.StandardDeviation;
99
import org.junit.After;
1010
import org.junit.Before;
11+
import org.msgpack.jackson.dataformat.MessagePackFactory;
1112

1213
import java.io.ByteArrayInputStream;
1314
import java.io.ByteArrayOutputStream;

msgpack-jackson/src/test/java/org/msgpack/jackson/dataformat/msgpack/MessagePackFactoryTest.java renamed to msgpack-jackson/src/test/java/org/msgpack/jackson/dataformat/MessagePackFactoryTest.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
1-
package org.msgpack.jackson.dataformat.msgpack;
1+
package org.msgpack.jackson.dataformat;
22

33
import com.fasterxml.jackson.core.JsonEncoding;
44
import com.fasterxml.jackson.core.JsonGenerator;
55
import com.fasterxml.jackson.core.JsonParser;
66
import org.junit.Test;
7-
import org.msgpack.core.MessagePacker;
87

9-
import java.io.ByteArrayOutputStream;
108
import java.io.IOException;
119

1210
import static org.junit.Assert.assertEquals;

msgpack-jackson/src/test/java/org/msgpack/jackson/dataformat/msgpack/MessagePackGeneratorTest.java renamed to msgpack-jackson/src/test/java/org/msgpack/jackson/dataformat/MessagePackGeneratorTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package org.msgpack.jackson.dataformat.msgpack;
1+
package org.msgpack.jackson.dataformat;
22

33
import org.junit.Test;
44
import org.msgpack.core.MessageUnpacker;

0 commit comments

Comments
 (0)