diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/MongoTemplateTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/MongoTemplateTests.java index b59328f3a..08bf971c6 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/MongoTemplateTests.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/MongoTemplateTests.java @@ -130,10 +130,9 @@ public class MongoTemplateTests { .parse("2.4"); private static final org.springframework.data.util.Version TWO_DOT_EIGHT = org.springframework.data.util.Version .parse("2.8"); - private static final org.springframework.data.util.Version THREE_DOT_FOUR= org.springframework.data.util.Version + private static final org.springframework.data.util.Version THREE_DOT_FOUR = org.springframework.data.util.Version .parse("3.4"); - @Autowired MongoTemplate template; @Autowired MongoDbFactory factory; @@ -145,23 +144,25 @@ public class MongoTemplateTests { @Autowired public void setApplicationContext(ConfigurableApplicationContext context) { - context.addApplicationListener(new PersonWithIdPropertyOfTypeUUIDListener()); + this.context = context; + + context.addApplicationListener(new PersonWithIdPropertyOfTypeUUIDListener()); } @Autowired public void setMongo(Mongo mongo) throws Exception { - CustomConversions conversions = new CustomConversions(Arrays.asList(DateToDateTimeConverter.INSTANCE, - DateTimeToDateConverter.INSTANCE)); + CustomConversions conversions = new CustomConversions( + Arrays.asList(DateToDateTimeConverter.INSTANCE, DateTimeToDateConverter.INSTANCE)); MongoMappingContext mappingContext = new MongoMappingContext(); - mappingContext.setInitialEntitySet(new HashSet>(Arrays.asList(PersonWith_idPropertyOfTypeObjectId.class, - PersonWith_idPropertyOfTypeString.class, PersonWithIdPropertyOfTypeObjectId.class, - PersonWithIdPropertyOfTypeString.class, PersonWithIdPropertyOfTypeInteger.class, - PersonWithIdPropertyOfTypeBigInteger.class, PersonWithIdPropertyOfPrimitiveInt.class, - PersonWithIdPropertyOfTypeLong.class, PersonWithIdPropertyOfPrimitiveLong.class, - PersonWithIdPropertyOfTypeUUID.class))); + mappingContext.setInitialEntitySet(new HashSet>( + Arrays.asList(PersonWith_idPropertyOfTypeObjectId.class, PersonWith_idPropertyOfTypeString.class, + PersonWithIdPropertyOfTypeObjectId.class, PersonWithIdPropertyOfTypeString.class, + PersonWithIdPropertyOfTypeInteger.class, PersonWithIdPropertyOfTypeBigInteger.class, + PersonWithIdPropertyOfPrimitiveInt.class, PersonWithIdPropertyOfTypeLong.class, + PersonWithIdPropertyOfPrimitiveLong.class, PersonWithIdPropertyOfTypeUUID.class))); mappingContext.setSimpleTypeHolder(conversions.getSimpleTypeHolder()); mappingContext.initialize(); @@ -175,8 +176,11 @@ public class MongoTemplateTests { @Before public void setUp() { + cleanDb(); queryMongoVersionIfNecessary(); + + this.mappingTemplate.setApplicationContext(context); } @After @@ -648,7 +652,6 @@ public class MongoTemplateTests { PersonWithIdPropertyOfTypeUUID p13 = new PersonWithIdPropertyOfTypeUUID(); p13.setFirstName("Sven_10"); p13.setAge(22); - p13.setId(UUID.randomUUID()); // insert mongoTemplate.insert(p13); // also try save @@ -2406,7 +2409,7 @@ public class MongoTemplateTests { doc.dbRefAnnotatedList = Arrays.asList( // sample1, // sample2 // - ); + ); template.save(doc); Update update = new Update().pull("dbRefAnnotatedList", doc.dbRefAnnotatedList.get(1)); @@ -2435,7 +2438,7 @@ public class MongoTemplateTests { doc.dbRefAnnotatedList = Arrays.asList( // sample1, // sample2 // - ); + ); template.save(doc); Update update = new Update().pull("dbRefAnnotatedList.id", "2"); @@ -2500,8 +2503,8 @@ public class MongoTemplateTests { @Test // DATAMONGO-862 public void testUpdateShouldWorkForPathsOnInterfaceMethods() { - DocumentWithCollection document = new DocumentWithCollection(Arrays. asList(new ModelA("spring"), - new ModelA("data"))); + DocumentWithCollection document = new DocumentWithCollection( + Arrays. asList(new ModelA("spring"), new ModelA("data"))); template.save(document); @@ -2967,7 +2970,7 @@ public class MongoTemplateTests { .min("longVal", 490) // .min("bigIntegerVal", new BigInteger("590")) // .min("bigDeciamVal", new BigDecimal("690")) // - ; + ; template.updateFirst(query(where("id").is(twn.id)), update, TypeWithNumbers.class); @@ -3023,7 +3026,7 @@ public class MongoTemplateTests { .max("longVal", 590) // .max("bigIntegerVal", new BigInteger("690")) // .max("bigDeciamVal", new BigDecimal("790")) // - ; + ; template.updateFirst(query(where("id").is(twn.id)), update, TypeWithNumbers.class); @@ -3052,7 +3055,7 @@ public class MongoTemplateTests { Update update = new Update()// .max("bigIntegerVal", new BigInteger("70")) // .max("bigDeciamVal", new BigDecimal("80")) // - ; + ; template.updateFirst(query(where("id").is(twn.id)), update, TypeWithNumbers.class); @@ -3076,7 +3079,7 @@ public class MongoTemplateTests { Update update = new Update()// .min("bigIntegerVal", new BigInteger("700")) // .min("bigDeciamVal", new BigDecimal("800")) // - ; + ; template.updateFirst(query(where("id").is(twn.id)), update, TypeWithNumbers.class); @@ -3584,10 +3587,12 @@ public class MongoTemplateTests { Object value; } - static class PersonWithIdPropertyOfTypeUUIDListener extends AbstractMongoEventListener { + static class PersonWithIdPropertyOfTypeUUIDListener + extends AbstractMongoEventListener { @Override public void onBeforeConvert(BeforeConvertEvent event) { + PersonWithIdPropertyOfTypeUUID person = event.getSource(); if (person.getId() != null) { @@ -3596,6 +3601,5 @@ public class MongoTemplateTests { person.setId(UUID.randomUUID()); } - } } diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/PersonWithIdPropertyOfTypeUUID.java b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/PersonWithIdPropertyOfTypeUUID.java index 46a5a6f87..e50fd3f28 100644 --- a/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/PersonWithIdPropertyOfTypeUUID.java +++ b/spring-data-mongodb/src/test/java/org/springframework/data/mongodb/core/PersonWithIdPropertyOfTypeUUID.java @@ -1,5 +1,5 @@ /* - * Copyright 2010-2017 the original author or authors. + * Copyright 2017 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,43 +15,14 @@ */ package org.springframework.data.mongodb.core; +import lombok.Data; + import java.util.UUID; +@Data public class PersonWithIdPropertyOfTypeUUID { private UUID id; - private String firstName; - private int age; - - public UUID getId() { - return id; - } - - public void setId(UUID id) { - this.id = id; - } - - public String getFirstName() { - return firstName; - } - - public void setFirstName(String firstName) { - this.firstName = firstName; - } - - public int getAge() { - return age; - } - - public void setAge(int age) { - this.age = age; - } - - @Override - public String toString() { - return "PersonWithIdPropertyOfTypeUUID [id=" + id + ", firstName=" + firstName + ", age=" + age + "]"; - } - }