Skip to content

Commit ef6eddb

Browse files
author
Mark
committed
fixed error while serializing long values with VPackBuilder
1 parent b5290a9 commit ef6eddb

File tree

3 files changed

+24
-4
lines changed

3 files changed

+24
-4
lines changed

ChangeLog

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
v4.1.3 (2016-11-xx)
2+
---------------------------
3+
* fixed error while serializing long values with VPackBuilder
4+
15
v4.1.2 (2016-11-10)
26
---------------------------
37
* fixed GraphEntity for ArangoDatabase.getGraphs() (field name is null)

src/main/java/com/arangodb/velocypack/VPackBuilder.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,8 +125,8 @@ public void append(final VPackBuilder builder, final Long value) throws VPackBui
125125
if (value <= 9 && value >= -6) {
126126
builder.appendSmallInt(value);
127127
} else {
128-
builder.add((byte) 0x23);
129-
builder.append(value, INTEGER_BYTES);
128+
builder.add((byte) 0x27);
129+
builder.append(value, LONG_BYTES);
130130
}
131131
}
132132
};
@@ -158,8 +158,8 @@ public void append(final VPackBuilder builder, final BigInteger value) throws VP
158158
if (value.longValue() <= 9 && value.longValue() >= -6) {
159159
builder.appendSmallInt(value.longValue());
160160
} else {
161-
builder.add((byte) 0x23);
162-
builder.append(value, INTEGER_BYTES);
161+
builder.add((byte) 0x27);
162+
builder.append(value, LONG_BYTES);
163163
}
164164
}
165165
};

src/test/java/com/arangodb/velocypack/VPackBuilderTest.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -895,4 +895,20 @@ public void nonASCII() {
895895
assertThat(vpack.getAsString(), is(s));
896896
}
897897

898+
@Test
899+
public void addLong() {
900+
final long value = 12345678901L;
901+
final VPackBuilder builder = new VPackBuilder().add(value);
902+
final VPackSlice vpack = builder.slice();
903+
assertThat(vpack.getAsLong(), is(value));
904+
}
905+
906+
@Test
907+
public void addBitInteger() {
908+
final BigInteger value = new BigInteger("12345678901");
909+
final VPackBuilder builder = new VPackBuilder().add(value);
910+
final VPackSlice vpack = builder.slice();
911+
assertThat(vpack.getAsBigInteger(), is(value));
912+
}
913+
898914
}

0 commit comments

Comments
 (0)