Compare commits

..

12 Commits

Author SHA1 Message Date
Mark Paluch
df73c567ce DATAMONGO-2593 - Release version 2.2.10 (Moore SR10). 2020-09-16 10:53:21 +02:00
Mark Paluch
47ce8258b0 DATAMONGO-2593 - Prepare 2.2.10 (Moore SR10). 2020-09-16 10:52:53 +02:00
Mark Paluch
e523d9a1cb DATAMONGO-2593 - Updated changelog. 2020-09-16 10:52:37 +02:00
Mark Paluch
d65632c097 DATAMONGO-2592 - Updated changelog. 2020-09-16 10:39:00 +02:00
Christoph Strobl
29bf4f72f3 DATAMONGO-2618 - Fix visibility of ReplaceRootDocumentOperation. 2020-09-14 13:46:20 +02:00
Michal Kurcius
ee79b9939b DATAMONGO-2613 - Fix single element ArrayJsonSchemaObject to document mapping.
Now toDocument calls toDocument on items correctly.

Original Pull Request: #883
2020-08-20 09:13:09 +02:00
Mark Paluch
156ec5b441 DATAMONGO-2594 - Updated changelog. 2020-08-12 13:25:53 +02:00
Mark Paluch
931028b43e DATAMONGO-2579 - Updated changelog. 2020-08-12 12:01:24 +02:00
Mark Paluch
687c4d35ed DATAMONGO-2599 - Eagerly consider enum types as simple types.
MongoSimpleTypes now eagerly checks if a type is a simple one to avoid PersistentEntity registration for ChronoUnit.
2020-07-30 16:36:37 +02:00
Mark Paluch
71ac036dc3 DATAMONGO-2568 - Updated changelog. 2020-07-22 10:38:03 +02:00
Mark Paluch
da3ab42f10 DATAMONGO-2567 - After release cleanups. 2020-07-22 10:07:19 +02:00
Mark Paluch
537fc1caad DATAMONGO-2567 - Prepare next development iteration. 2020-07-22 10:07:16 +02:00
11 changed files with 98 additions and 9 deletions

View File

@@ -5,7 +5,7 @@
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb-parent</artifactId>
<version>2.2.9.RELEASE</version>
<version>2.2.10.RELEASE</version>
<packaging>pom</packaging>
<name>Spring Data MongoDB</name>
@@ -15,7 +15,7 @@
<parent>
<groupId>org.springframework.data.build</groupId>
<artifactId>spring-data-parent</artifactId>
<version>2.2.9.RELEASE</version>
<version>2.2.10.RELEASE</version>
</parent>
<modules>
@@ -26,7 +26,7 @@
<properties>
<project.type>multi</project.type>
<dist.id>spring-data-mongodb</dist.id>
<springdata.commons>2.2.9.RELEASE</springdata.commons>
<springdata.commons>2.2.10.RELEASE</springdata.commons>
<mongo>3.11.2</mongo>
<mongo.reactivestreams>1.12.0</mongo.reactivestreams>
<jmh.version>1.19</jmh.version>

View File

@@ -7,7 +7,7 @@
<parent>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb-parent</artifactId>
<version>2.2.9.RELEASE</version>
<version>2.2.10.RELEASE</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@@ -14,7 +14,7 @@
<parent>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb-parent</artifactId>
<version>2.2.9.RELEASE</version>
<version>2.2.10.RELEASE</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@@ -11,7 +11,7 @@
<parent>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-mongodb-parent</artifactId>
<version>2.2.9.RELEASE</version>
<version>2.2.10.RELEASE</version>
<relativePath>../pom.xml</relativePath>
</parent>

View File

@@ -155,7 +155,7 @@ public class ReplaceRootOperation implements FieldsExposingAggregationOperation
*
* @author Mark Paluch
*/
static class ReplaceRootDocumentOperation extends ReplaceRootOperation {
public static class ReplaceRootDocumentOperation extends ReplaceRootOperation {
private final static ReplacementDocument EMPTY = new ReplacementDocument();
private final ReplacementDocument current;

View File

@@ -47,6 +47,7 @@ import com.mongodb.client.model.geojson.Polygon;
*
* @author Oliver Gierke
* @author Christoph Strobl
* @author Mark Paluch
*/
public abstract class MongoSimpleTypes {
@@ -107,6 +108,10 @@ public abstract class MongoSimpleTypes {
@Override
public boolean isSimpleType(Class<?> type) {
if (type.isEnum()) {
return true;
}
if (type.getName().startsWith("java.time")) {
return false;
}

View File

@@ -41,6 +41,7 @@ import org.springframework.util.StringUtils;
*
* @author Christoph Strobl
* @author Mark Paluch
* @author Michał Kurcius
* @since 2.1
*/
public class TypedJsonSchemaObject extends UntypedJsonSchemaObject {
@@ -1203,7 +1204,7 @@ public class TypedJsonSchemaObject extends UntypedJsonSchemaObject {
Document doc = new Document(super.toDocument());
if (!CollectionUtils.isEmpty(items)) {
doc.append("items", items.size() == 1 ? items.iterator().next()
doc.append("items", items.size() == 1 ? items.iterator().next().toDocument()
: items.stream().map(JsonSchemaObject::toDocument).collect(Collectors.toList()));
}

View File

@@ -17,6 +17,7 @@ package org.springframework.data.mongodb.core.mapping;
import static org.assertj.core.api.Assertions.*;
import java.time.temporal.ChronoUnit;
import java.util.AbstractMap;
import java.util.Collections;
import java.util.Locale;
@@ -158,6 +159,18 @@ public class MongoMappingContextUnitTests {
.withMessageContaining("score").withMessageContaining("Float").withMessageContaining("Double");
}
@Test // DATAMONGO-2599
public void shouldNotCreateEntityForEnum() {
MongoMappingContext context = new MongoMappingContext();
BasicMongoPersistentEntity<?> entity = context.getRequiredPersistentEntity(ClassWithChronoUnit.class);
assertThat(entity.getPersistentProperty("unit").isEntity()).isFalse();
assertThat(context.hasPersistentEntityFor(ChronoUnit.class)).isFalse();
assertThat(context.getPersistentEntity(ChronoUnit.class)).isNull();
}
public class SampleClass {
Map<String, SampleClass> children;
@@ -224,4 +237,9 @@ public class MongoMappingContextUnitTests {
@TextScore Locale score;
}
class ClassWithChronoUnit {
ChronoUnit unit;
}
}

View File

@@ -39,6 +39,7 @@ import org.springframework.data.domain.Range.*;
*
* @author Christoph Strobl
* @author Mark Paluch
* @author Michał Kurcius
*/
public class JsonSchemaObjectUnitTests {
@@ -267,6 +268,13 @@ public class JsonSchemaObjectUnitTests {
.append("items", Arrays.asList(new Document("type", "string"), new Document("type", "boolean"))));
}
@Test // DATAMONGO-2613
public void arrayObjectShouldRenderItemsCorrectlyAsObjectIfContainsOnlyOneElement() {
assertThat(array().items(Collections.singletonList(string())).toDocument()).isEqualTo(new Document("type", "array")
.append("items", new Document("type", "string")));
}
@Test // DATAMONGO-1835
public void arrayObjectShouldRenderMaxItemsCorrectly() {

View File

@@ -1,6 +1,57 @@
Spring Data MongoDB Changelog
=============================
Changes in version 2.2.10.RELEASE (2020-09-16)
----------------------------------------------
* DATAMONGO-2618 - ReplaceRootDocumentOperation not visible.
* DATAMONGO-2613 - ArrayJsonSchemaObject incorrectly mapped to Document.
* DATAMONGO-2599 - Ambiguous field mapping detected for enum java.time.temporal.ChronoUnit.
* DATAMONGO-2593 - Release 2.2.10 (Moore SR10).
Changes in version 2.1.20.RELEASE (2020-09-16)
----------------------------------------------
* DATAMONGO-2618 - ReplaceRootDocumentOperation not visible.
* DATAMONGO-2613 - ArrayJsonSchemaObject incorrectly mapped to Document.
* DATAMONGO-2592 - Release 2.1.20 (Lovelace SR20).
Changes in version 3.0.3.RELEASE (2020-08-12)
---------------------------------------------
* DATAMONGO-2601 - Consider Unit a void type in Coroutine repositories.
* DATAMONGO-2599 - Ambiguous field mapping detected for enum java.time.temporal.ChronoUnit.
* DATAMONGO-2598 - Wording changes.
* DATAMONGO-2594 - Release 3.0.3 (Neumann SR3).
Changes in version 3.1.0-M2 (2020-08-12)
----------------------------------------
* DATAMONGO-2603 - Adopt to Reactor 3.4 changes.
* DATAMONGO-2602 - Upgrade MongoDB drivers to 4.1.0.
* DATAMONGO-2601 - Consider Unit a void type in Coroutine repositories.
* DATAMONGO-2599 - Ambiguous field mapping detected for enum java.time.temporal.ChronoUnit.
* DATAMONGO-2598 - Wording changes.
* DATAMONGO-2591 - Upgrade MongoDB drivers to 4.1.0-rc0.
* DATAMONGO-2586 - Add support for reactive auditing.
* DATAMONGO-2579 - Release 3.1 M2 (2020.0.0).
* DATAMONGO-2571 - regex expression included "/" character can't be parsed in the stage of aggregation annotation.
* DATAMONGO-2536 - Add option to discard results on $out and $merge.
* DATAMONGO-2490 - @DBRef fetched without ClientSession when using Spring Transactions.
* DATAMONGO-1894 - Use reactive subscriber context for SpEL evaluation in query execution.
* DATAMONGO-1836 - Add support for hint option to aggregation.
Changes in version 3.0.2.RELEASE (2020-07-22)
---------------------------------------------
* DATAMONGO-2589 - Upgrade to MongoDB Driver 4.0.5.
* DATAMONGO-2572 - Remove usage of Oppressive Language.
* DATAMONGO-2571 - regex expression included "/" character can't be parsed in the stage of aggregation annotation.
* DATAMONGO-2570 - Avoiding unintentional unboxing.
* DATAMONGO-2568 - Release 3.0.2 (Neumann SR2).
* DATAMONGO-2536 - Add option to discard results on $out and $merge.
* DATAMONGO-2490 - @DBRef fetched without ClientSession when using Spring Transactions.
Changes in version 2.2.9.RELEASE (2020-07-22)
---------------------------------------------
* DATAMONGO-2572 - Remove usage of Oppressive Language.
@@ -3087,6 +3138,11 @@ Repository

View File

@@ -1,4 +1,4 @@
Spring Data MongoDB 2.2.9 (Moore SR9)
Spring Data MongoDB 2.2.10 (Moore SR10)
Copyright (c) [2010-2019] Pivotal Software, Inc.
This product is licensed to you under the Apache License, Version 2.0 (the "License").
@@ -15,3 +15,4 @@ conditions of the subcomponent's license, as noted in the LICENSE file.