Skip to content

Commit d6129e9

Browse files
committed
Revisions to FLE support.
Closes #763.
1 parent 5490b21 commit d6129e9

File tree

2 files changed

+7
-8
lines changed

2 files changed

+7
-8
lines changed

spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/DecryptingReadingConverter.java

+4-6
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
import java.math.BigDecimal;
1919
import java.math.BigInteger;
20+
import java.nio.charset.StandardCharsets;
2021
import java.util.HashSet;
2122
import java.util.Set;
2223

@@ -44,15 +45,11 @@ public DecryptingReadingConverter(CryptoManager cryptoManager) {
4445
this.cryptoManager = cryptoManager;
4546
}
4647

47-
public void setConversionService(ConversionService conversionService) {
48-
this.conversionService = conversionService;
49-
}
50-
5148
@Override
5249
public Set<ConvertiblePair> getConvertibleTypes() {
5350
Set<ConvertiblePair> convertiblePairs = new HashSet<>();
5451
Class<?>[] clazzes = new Class[] { String.class, Integer.class, Long.class, Float.class, Double.class,
55-
BigInteger.class, BigDecimal.class, Boolean.class };
52+
BigInteger.class, BigDecimal.class, Boolean.class, Enum.class };
5653
for (Class clazz : clazzes) {
5754
convertiblePairs.add(new ConvertiblePair(CouchbaseDocument.class, clazz));
5855
}
@@ -61,7 +58,8 @@ public Set<ConvertiblePair> getConvertibleTypes() {
6158

6259
@Override
6360
public Object convert(Object source, TypeDescriptor sourceType, TypeDescriptor targetType) {
64-
return source == null? null : new String(cryptoManager.decrypt(((CouchbaseDocument) source).getContent()));
61+
return source == null ? null
62+
: new String(cryptoManager.decrypt(((CouchbaseDocument) source).getContent()), StandardCharsets.UTF_8);
6563
}
6664

6765
@Override

spring-data-couchbase/src/main/java/org/springframework/data/couchbase/core/convert/EncryptingWritingConverter.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
import java.math.BigDecimal;
1919
import java.math.BigInteger;
20+
import java.nio.charset.StandardCharsets;
2021
import java.util.HashMap;
2122
import java.util.HashSet;
2223
import java.util.Map;
@@ -48,7 +49,7 @@ public Set<GenericConverter.ConvertiblePair> getConvertibleTypes() {
4849

4950
Set<ConvertiblePair> convertiblePairs = new HashSet<>();
5051
Class<?>[] clazzes = new Class[] { String.class, Integer.class, Long.class, Float.class, Double.class,
51-
BigInteger.class, BigDecimal.class, Boolean.class };
52+
BigInteger.class, BigDecimal.class, Boolean.class, Enum.class };
5253
for (Class clazz : clazzes) {
5354
convertiblePairs.add(new ConvertiblePair(clazz, String.class));
5455
}
@@ -63,7 +64,7 @@ public Object convert(Object source, TypeDescriptor sourceType, TypeDescriptor t
6364
com.couchbase.client.java.encryption.annotation.Encrypted ann = sourceType
6465
.getAnnotation(com.couchbase.client.java.encryption.annotation.Encrypted.class);
6566
Map<Object, Object> result = new HashMap<>();
66-
result.putAll(cryptoManager.encrypt(source.toString().getBytes(), ann.encrypter()));
67+
result.putAll(cryptoManager.encrypt(source.toString().getBytes(StandardCharsets.UTF_8), ann.encrypter()));
6768
return new Encrypted(result);
6869
}
6970

0 commit comments

Comments
 (0)