Browse Source

Polishing.

Simplify assertions, reformat code.

See #3921
Original pull request: #3930.
3.2.x
Mark Paluch 4 years ago
parent
commit
6c21eab84b
No known key found for this signature in database
GPG Key ID: 4406B84C1661DCD1
  1. 17
      spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/QueryMapper.java
  2. 21
      spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/convert/UpdateMapperUnitTests.java

17
spring-data-mongodb/src/main/java/org/springframework/data/mongodb/core/convert/QueryMapper.java

@ -1,5 +1,5 @@
/* /*
* Copyright 2011-2021 the original author or authors. * Copyright 2011-2022 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -1389,11 +1389,11 @@ public class QueryMapper {
} }
String nextToken() { String nextToken() {
return pathParts.get(currentIndex+1); return pathParts.get(currentIndex + 1);
} }
boolean hasNexToken() { boolean hasNexToken() {
return pathParts.size() > currentIndex+1; return pathParts.size() > currentIndex + 1;
} }
/** /**
@ -1405,24 +1405,25 @@ public class QueryMapper {
protected String mapPropertyName(MongoPersistentProperty property) { protected String mapPropertyName(MongoPersistentProperty property) {
StringBuilder mappedName = new StringBuilder(PropertyToFieldNameConverter.INSTANCE.convert(property)); StringBuilder mappedName = new StringBuilder(PropertyToFieldNameConverter.INSTANCE.convert(property));
if(!hasNexToken()) { if (!hasNexToken()) {
return mappedName.toString(); return mappedName.toString();
} }
String nextToken = nextToken(); String nextToken = nextToken();
if(isPositionalParameter(nextToken)) { if (isPositionalParameter(nextToken)) {
mappedName.append(".").append(nextToken); mappedName.append(".").append(nextToken);
currentIndex+=2; currentIndex += 2;
return mappedName.toString(); return mappedName.toString();
} }
if(property.isMap()) { if (property.isMap()) {
mappedName.append(".").append(nextToken); mappedName.append(".").append(nextToken);
currentIndex+=2; currentIndex += 2;
return mappedName.toString(); return mappedName.toString();
} }
currentIndex++; currentIndex++;
return mappedName.toString(); return mappedName.toString();
} }

21
spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/convert/UpdateMapperUnitTests.java

@ -1,5 +1,5 @@
/* /*
* Copyright 2013-2021 the original author or authors. * Copyright 2013-2022 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
@ -1208,7 +1208,7 @@ class UpdateMapperUnitTests {
Document mappedUpdate = mapper.getMappedObject(update.getUpdateObject(), Document mappedUpdate = mapper.getMappedObject(update.getUpdateObject(),
context.getPersistentEntity(EntityWithNestedMap.class)); context.getPersistentEntity(EntityWithNestedMap.class));
assertThat(mappedUpdate).isEqualTo(new org.bson.Document("$set",new org.bson.Document("levelOne.a.b.d","e"))); assertThat(mappedUpdate).isEqualTo(new org.bson.Document("$set", new org.bson.Document("levelOne.a.b.d", "e")));
} }
@Test // GH-3775 @Test // GH-3775
@ -1218,7 +1218,7 @@ class UpdateMapperUnitTests {
Document mappedUpdate = mapper.getMappedObject(update.getUpdateObject(), Document mappedUpdate = mapper.getMappedObject(update.getUpdateObject(),
context.getPersistentEntity(EntityWithNestedMap.class)); context.getPersistentEntity(EntityWithNestedMap.class));
assertThat(mappedUpdate).isEqualTo(new org.bson.Document("$set",new org.bson.Document("levelOne.0.1.3","4"))); assertThat(mappedUpdate).isEqualTo(new org.bson.Document("$set", new org.bson.Document("levelOne.0.1.3", "4")));
} }
@Test // GH-3775 @Test // GH-3775
@ -1228,7 +1228,7 @@ class UpdateMapperUnitTests {
Document mappedUpdate = mapper.getMappedObject(update.getUpdateObject(), Document mappedUpdate = mapper.getMappedObject(update.getUpdateObject(),
context.getPersistentEntity(EntityWithNestedMap.class)); context.getPersistentEntity(EntityWithNestedMap.class));
assertThat(mappedUpdate).isEqualTo(new org.bson.Document("$set",new org.bson.Document("levelOne.0.1.c","4"))); assertThat(mappedUpdate).isEqualTo(new org.bson.Document("$set", new org.bson.Document("levelOne.0.1.c", "4")));
} }
@Test // GH-3775 @Test // GH-3775
@ -1238,7 +1238,7 @@ class UpdateMapperUnitTests {
Document mappedUpdate = mapper.getMappedObject(update.getUpdateObject(), Document mappedUpdate = mapper.getMappedObject(update.getUpdateObject(),
context.getPersistentEntity(EntityWithNestedMap.class)); context.getPersistentEntity(EntityWithNestedMap.class));
assertThat(mappedUpdate).isEqualTo(new org.bson.Document("$set",new org.bson.Document("levelOne.0a.1b.3c","4"))); assertThat(mappedUpdate).isEqualTo(new org.bson.Document("$set", new org.bson.Document("levelOne.0a.1b.3c", "4")));
} }
@Test // GH-3688 @Test // GH-3688
@ -1258,7 +1258,7 @@ class UpdateMapperUnitTests {
Document mappedUpdate = mapper.getMappedObject(update.getUpdateObject(), Document mappedUpdate = mapper.getMappedObject(update.getUpdateObject(),
context.getPersistentEntity(TestData.class)); context.getPersistentEntity(TestData.class));
assertThat(mappedUpdate).isEqualTo(new org.bson.Document("$set",new org.bson.Document("testInnerData.testMap.1.intValue","4"))); assertThat(mappedUpdate).isEqualTo("{ $set: { 'testInnerData.testMap.1.intValue': '4' }}");
} }
@Test // GH-3921 @Test // GH-3921
@ -1268,7 +1268,7 @@ class UpdateMapperUnitTests {
Document mappedUpdate = mapper.getMappedObject(update.getUpdateObject(), Document mappedUpdate = mapper.getMappedObject(update.getUpdateObject(),
context.getPersistentEntity(TestData.class)); context.getPersistentEntity(TestData.class));
assertThat(mappedUpdate).isEqualTo(new org.bson.Document("$set",new org.bson.Document("testInnerData.imaginaryMap.1.noExistingProperty","4"))); assertThat(mappedUpdate).isEqualTo("{ $set: { 'testInnerData.imaginaryMap.1.nonExistingProperty': '4' }}");
} }
@Test // GH-3921 @Test // GH-3921
@ -1278,7 +1278,7 @@ class UpdateMapperUnitTests {
Document mappedUpdate = mapper.getMappedObject(update.getUpdateObject(), Document mappedUpdate = mapper.getMappedObject(update.getUpdateObject(),
context.getPersistentEntity(TestData.class)); context.getPersistentEntity(TestData.class));
assertThat(mappedUpdate).isEqualTo(new org.bson.Document("$set",new org.bson.Document("testInnerData.testMap.1.nonExistingProperty.2.someValue","4"))); assertThat(mappedUpdate).isEqualTo("{ $set: { 'testInnerData.testMap.1.nonExistingProperty.2.someValue': '4' }}");
} }
static class DomainTypeWrappingConcreteyTypeHavingListOfInterfaceTypeAttributes { static class DomainTypeWrappingConcreteyTypeHavingListOfInterfaceTypeAttributes {
@ -1517,7 +1517,7 @@ class UpdateMapperUnitTests {
Map<Object, NestedDocument> concreteMap; Map<Object, NestedDocument> concreteMap;
} }
static class EntityWithIntKeyedMap{ static class EntityWithIntKeyedMap {
Map<Integer, EntityWithObjectMap> intKeyedMap; Map<Integer, EntityWithObjectMap> intKeyedMap;
} }
@ -1653,8 +1653,7 @@ class UpdateMapperUnitTests {
@Data @Data
private static class TestData { private static class TestData {
@Id @Id private String id;
private String id;
private TestInnerData testInnerData; private TestInnerData testInnerData;
} }

Loading…
Cancel
Save