From 68d6e917da8ee7c94fef823de4bc226474005fb0 Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Tue, 4 Dec 2018 16:40:09 +0100 Subject: [PATCH 1/2] DATAMONGO-2156 - Prepare issue branch. --- pom.xml | 2 +- spring-data-mongodb-benchmarks/pom.xml | 2 +- spring-data-mongodb-cross-store/pom.xml | 4 ++-- spring-data-mongodb-distribution/pom.xml | 2 +- spring-data-mongodb/pom.xml | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index 28dc5c96c1..33333219dd 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.springframework.data spring-data-mongodb-parent - 2.2.0.BUILD-SNAPSHOT + 2.2.0.DATAMONGO-2156-SNAPSHOT pom Spring Data MongoDB diff --git a/spring-data-mongodb-benchmarks/pom.xml b/spring-data-mongodb-benchmarks/pom.xml index c2ff37b35c..cf88fb524c 100644 --- a/spring-data-mongodb-benchmarks/pom.xml +++ b/spring-data-mongodb-benchmarks/pom.xml @@ -7,7 +7,7 @@ org.springframework.data spring-data-mongodb-parent - 2.2.0.BUILD-SNAPSHOT + 2.2.0.DATAMONGO-2156-SNAPSHOT ../pom.xml diff --git a/spring-data-mongodb-cross-store/pom.xml b/spring-data-mongodb-cross-store/pom.xml index fd36f227c0..308befecd8 100644 --- a/spring-data-mongodb-cross-store/pom.xml +++ b/spring-data-mongodb-cross-store/pom.xml @@ -6,7 +6,7 @@ org.springframework.data spring-data-mongodb-parent - 2.2.0.BUILD-SNAPSHOT + 2.2.0.DATAMONGO-2156-SNAPSHOT ../pom.xml @@ -50,7 +50,7 @@ org.springframework.data spring-data-mongodb - 2.2.0.BUILD-SNAPSHOT + 2.2.0.DATAMONGO-2156-SNAPSHOT diff --git a/spring-data-mongodb-distribution/pom.xml b/spring-data-mongodb-distribution/pom.xml index cb441dd8ef..3e76635b50 100644 --- a/spring-data-mongodb-distribution/pom.xml +++ b/spring-data-mongodb-distribution/pom.xml @@ -13,7 +13,7 @@ org.springframework.data spring-data-mongodb-parent - 2.2.0.BUILD-SNAPSHOT + 2.2.0.DATAMONGO-2156-SNAPSHOT ../pom.xml diff --git a/spring-data-mongodb/pom.xml b/spring-data-mongodb/pom.xml index f3c85a046a..e8fd22c5fc 100644 --- a/spring-data-mongodb/pom.xml +++ b/spring-data-mongodb/pom.xml @@ -11,7 +11,7 @@ org.springframework.data spring-data-mongodb-parent - 2.2.0.BUILD-SNAPSHOT + 2.2.0.DATAMONGO-2156-SNAPSHOT ../pom.xml From 6c8cf12cbcd8062840d31fa9a53d47ce787d0af3 Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Tue, 4 Dec 2018 16:01:05 +0100 Subject: [PATCH 2/2] DATAMONGO-2156 - Remove dependency to javax.xml.bind. We now no longer use DatatypeConverter to convert byte[] to its Base64-representation but use Spring Framework's Base64 utils. --- .../ExpressionEvaluatingParameterBinder.java | 15 +++++++-------- .../ReactiveStringBasedMongoQueryUnitTests.java | 5 ++--- .../query/StringBasedMongoQueryUnitTests.java | 7 +++---- 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/ExpressionEvaluatingParameterBinder.java b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/ExpressionEvaluatingParameterBinder.java index 01dc3886be..7cf7a86a4b 100644 --- a/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/ExpressionEvaluatingParameterBinder.java +++ b/spring-data-mongodb/src/main/java/org/springframework/data/mongodb/repository/query/ExpressionEvaluatingParameterBinder.java @@ -33,8 +33,6 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; -import javax.xml.bind.DatatypeConverter; - import org.bson.codecs.BinaryCodec; import org.bson.codecs.Codec; import org.bson.codecs.UuidCodec; @@ -48,6 +46,7 @@ import org.springframework.expression.spel.standard.SpelExpressionParser; import org.springframework.lang.Nullable; import org.springframework.util.Assert; +import org.springframework.util.Base64Utils; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; @@ -571,7 +570,7 @@ static class BinaryValue extends EncodableValue { private final byte[] value; - /* + /* * (non-Javadoc) * @see org.springframework.data.mongodb.repository.query.ExpressionEvaluatingParameterBinder.EncodableValue#encode(org.springframework.data.mongodb.CodecRegistryProvider, boolean) */ @@ -579,7 +578,7 @@ static class BinaryValue extends EncodableValue { public String encode(CodecRegistryProvider provider, boolean quoted) { if (quoted) { - return DatatypeConverter.printBase64Binary(this.value); + return Base64Utils.encodeToString(this.value); } return encode(provider, new Binary(this.value), BinaryCodec::new); @@ -595,7 +594,7 @@ static class BinaryCollectionValue extends EncodableValue { private final Collection value; - /* + /* * (non-Javadoc) * @see org.springframework.data.mongodb.repository.query.ExpressionEvaluatingParameterBinder.EncodableValue#encode(org.springframework.data.mongodb.CodecRegistryProvider, boolean) */ @@ -613,7 +612,7 @@ static class UuidValue extends EncodableValue { private final UUID value; - /* + /* * (non-Javadoc) * @see org.springframework.data.mongodb.repository.query.ExpressionEvaluatingParameterBinder.EncodableValue#encode(org.springframework.data.mongodb.CodecRegistryProvider, boolean) */ @@ -637,7 +636,7 @@ static class UuidCollection extends EncodableValue { private final Collection value; - /* + /* * (non-Javadoc) * @see org.springframework.data.mongodb.repository.query.ExpressionEvaluatingParameterBinder.EncodableValue#encode(org.springframework.data.mongodb.CodecRegistryProvider, boolean) */ @@ -655,7 +654,7 @@ static class ObjectValue extends EncodableValue { private final @Nullable Object value; - /* + /* * (non-Javadoc) * @see org.springframework.data.mongodb.repository.query.ExpressionEvaluatingParameterBinder.EncodableValue#encode(org.springframework.data.mongodb.CodecRegistryProvider, boolean) */ diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/query/ReactiveStringBasedMongoQueryUnitTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/query/ReactiveStringBasedMongoQueryUnitTests.java index 0540009234..7f4d80e234 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/query/ReactiveStringBasedMongoQueryUnitTests.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/query/ReactiveStringBasedMongoQueryUnitTests.java @@ -27,8 +27,6 @@ import java.util.Collections; import java.util.Map; -import javax.xml.bind.DatatypeConverter; - import org.bson.BSON; import org.bson.Document; import org.junit.Before; @@ -53,6 +51,7 @@ import org.springframework.data.repository.core.support.DefaultRepositoryMetadata; import org.springframework.data.repository.query.QueryMethodEvaluationContextProvider; import org.springframework.expression.spel.standard.SpelExpressionParser; +import org.springframework.util.Base64Utils; /** * Unit tests for {@link ReactiveStringBasedMongoQuery}. @@ -219,7 +218,7 @@ public void shouldSupportNonQuotedBinaryDataReplacement() throws Exception { org.springframework.data.mongodb.core.query.Query query = mongoQuery.createQuery(accesor); org.springframework.data.mongodb.core.query.Query reference = new BasicQuery("{'lastname' : { '$binary' : '" - + DatatypeConverter.printBase64Binary(binaryData) + "', '$type' : '" + BSON.B_GENERAL + "'}}"); + + Base64Utils.encodeToString(binaryData) + "', '$type' : '" + BSON.B_GENERAL + "'}}"); assertThat(query.getQueryObject().toJson(), is(reference.getQueryObject().toJson())); } diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/query/StringBasedMongoQueryUnitTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/query/StringBasedMongoQueryUnitTests.java index fe6fe56022..a087ea0242 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/query/StringBasedMongoQueryUnitTests.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/repository/query/StringBasedMongoQueryUnitTests.java @@ -29,8 +29,6 @@ import java.util.Map; import java.util.UUID; -import javax.xml.bind.DatatypeConverter; - import org.bson.BSON; import org.bson.Document; import org.junit.Before; @@ -56,6 +54,7 @@ import org.springframework.data.repository.core.support.DefaultRepositoryMetadata; import org.springframework.data.repository.query.QueryMethodEvaluationContextProvider; import org.springframework.expression.spel.standard.SpelExpressionParser; +import org.springframework.util.Base64Utils; /** * Unit tests for {@link StringBasedMongoQuery}. @@ -318,7 +317,7 @@ public void shouldSupportNonQuotedBinaryDataReplacement() { org.springframework.data.mongodb.core.query.Query query = mongoQuery.createQuery(accessor); org.springframework.data.mongodb.core.query.Query reference = new BasicQuery("{'lastname' : { '$binary' : '" - + DatatypeConverter.printBase64Binary(binaryData) + "', '$type' : '" + BSON.B_GENERAL + "'}}"); + + Base64Utils.encodeToString(binaryData) + "', '$type' : '" + BSON.B_GENERAL + "'}}"); assertThat(query.getQueryObject().toJson(), is(reference.getQueryObject().toJson())); } @@ -333,7 +332,7 @@ public void shouldSupportNonQuotedBinaryCollectionDataReplacement() { org.springframework.data.mongodb.core.query.Query query = mongoQuery.createQuery(accessor); org.springframework.data.mongodb.core.query.Query reference = new BasicQuery("{'lastname' : { $in: [{'$binary' : '" - + DatatypeConverter.printBase64Binary(binaryData) + "', '$type' : '" + BSON.B_GENERAL + "'}] }}"); + + Base64Utils.encodeToString(binaryData) + "', '$type' : '" + BSON.B_GENERAL + "'}] }}"); assertThat(query.getQueryObject().toJson(), is(reference.getQueryObject().toJson())); }