Skip to content

Commit 4fb44bb

Browse files
committed
base64 encoding for java 9+
1 parent b235e94 commit 4fb44bb

File tree

3 files changed

+27
-48
lines changed

3 files changed

+27
-48
lines changed

src/main/java/com/arangodb/velocypack/internal/VPackDeserializers.java

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,22 +20,21 @@
2020

2121
package com.arangodb.velocypack.internal;
2222

23-
import java.math.BigDecimal;
24-
import java.math.BigInteger;
25-
import java.sql.Timestamp;
26-
import java.text.ParseException;
27-
import java.util.Date;
28-
import java.util.UUID;
29-
30-
import javax.xml.bind.DatatypeConverter;
31-
3223
import com.arangodb.velocypack.VPackDeserializationContext;
3324
import com.arangodb.velocypack.VPackDeserializer;
3425
import com.arangodb.velocypack.VPackSlice;
3526
import com.arangodb.velocypack.exception.VPackException;
3627
import com.arangodb.velocypack.exception.VPackParserException;
3728
import com.arangodb.velocypack.internal.util.DateUtil;
3829

30+
import java.math.BigDecimal;
31+
import java.math.BigInteger;
32+
import java.sql.Timestamp;
33+
import java.text.ParseException;
34+
import java.util.Base64;
35+
import java.util.Date;
36+
import java.util.UUID;
37+
3938
/**
4039
* @author Mark Vollmary
4140
*
@@ -227,7 +226,7 @@ public byte[] deserialize(
227226
final VPackSlice parent,
228227
final VPackSlice vpack,
229228
final VPackDeserializationContext context) throws VPackException {
230-
return DatatypeConverter.parseBase64Binary(vpack.getAsString());
229+
return Base64.getDecoder().decode(vpack.getAsString());
231230
}
232231

233232
};

src/main/java/com/arangodb/velocypack/internal/VPackSerializers.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,21 +20,20 @@
2020

2121
package com.arangodb.velocypack.internal;
2222

23-
import java.math.BigDecimal;
24-
import java.math.BigInteger;
25-
import java.sql.Timestamp;
26-
import java.util.Date;
27-
import java.util.UUID;
28-
29-
import javax.xml.bind.DatatypeConverter;
30-
3123
import com.arangodb.velocypack.VPackBuilder;
3224
import com.arangodb.velocypack.VPackSerializationContext;
3325
import com.arangodb.velocypack.VPackSerializer;
3426
import com.arangodb.velocypack.VPackSlice;
3527
import com.arangodb.velocypack.exception.VPackException;
3628
import com.arangodb.velocypack.internal.util.DateUtil;
3729

30+
import java.math.BigDecimal;
31+
import java.math.BigInteger;
32+
import java.sql.Timestamp;
33+
import java.util.Base64;
34+
import java.util.Date;
35+
import java.util.UUID;
36+
3837
/**
3938
* @author Mark Vollmary
4039
*
@@ -212,7 +211,7 @@ public void serialize(
212211
final String attribute,
213212
final byte[] value,
214213
final VPackSerializationContext context) throws VPackException {
215-
builder.add(attribute, DatatypeConverter.printBase64Binary(value));
214+
builder.add(attribute, Base64.getEncoder().encodeToString(value));
216215
}
217216
};
218217
public static final VPackSerializer<Byte> BYTE = new VPackSerializer<Byte>() {

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

Lines changed: 10 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@
2020

2121
package com.arangodb.velocypack;
2222

23-
import static org.hamcrest.Matchers.contains;
24-
import static org.hamcrest.Matchers.is;
25-
import static org.hamcrest.Matchers.notNullValue;
26-
import static org.hamcrest.Matchers.nullValue;
27-
import static org.hamcrest.MatcherAssert.assertThat;
23+
import com.arangodb.velocypack.VPack.SerializeOptions;
24+
import com.arangodb.velocypack.annotations.Expose;
25+
import com.arangodb.velocypack.annotations.SerializedName;
26+
import com.arangodb.velocypack.exception.VPackException;
27+
import org.junit.Test;
2828

2929
import java.lang.annotation.ElementType;
3030
import java.lang.annotation.Retention;
@@ -35,30 +35,11 @@
3535
import java.math.BigInteger;
3636
import java.text.DateFormat;
3737
import java.text.SimpleDateFormat;
38-
import java.util.ArrayList;
39-
import java.util.Arrays;
40-
import java.util.Collection;
41-
import java.util.Date;
42-
import java.util.HashMap;
43-
import java.util.HashSet;
44-
import java.util.LinkedHashMap;
45-
import java.util.LinkedHashSet;
46-
import java.util.LinkedList;
47-
import java.util.List;
48-
import java.util.Map;
38+
import java.util.*;
4939
import java.util.Map.Entry;
50-
import java.util.Set;
51-
import java.util.TimeZone;
52-
import java.util.UUID;
53-
54-
import javax.xml.bind.DatatypeConverter;
5540

56-
import org.junit.Test;
57-
58-
import com.arangodb.velocypack.VPack.SerializeOptions;
59-
import com.arangodb.velocypack.annotations.Expose;
60-
import com.arangodb.velocypack.annotations.SerializedName;
61-
import com.arangodb.velocypack.exception.VPackException;
41+
import static org.hamcrest.MatcherAssert.assertThat;
42+
import static org.hamcrest.Matchers.*;
6243

6344
/**
6445
* @author Mark Vollmary
@@ -3875,12 +3856,12 @@ public void fromBinary() {
38753856
assertThat(vpack, is(notNullValue()));
38763857
assertThat(vpack.isObject(), is(true));
38773858
assertThat(vpack.get("foo").isString(), is(true));
3878-
assertThat(vpack.get("foo").getAsString(), is(DatatypeConverter.printBase64Binary(entity.foo)));
3859+
assertThat(vpack.get("foo").getAsString(), is(Base64.getEncoder().encodeToString(entity.foo)));
38793860
}
38803861

38813862
@Test
38823863
public void toBinary() {
3883-
final String value = DatatypeConverter.printBase64Binary("bar".getBytes());
3864+
final String value = Base64.getEncoder().encodeToString("bar".getBytes());
38843865
final VPackSlice vpack = new VPackBuilder().add(ValueType.OBJECT).add("foo", value).close().slice();
38853866
final BinaryEntity entity = new VPack.Builder().build().deserialize(vpack, BinaryEntity.class);
38863867
assertThat(entity, is(notNullValue()));

0 commit comments

Comments
 (0)