Skip to content

Commit 971d625

Browse files
author
alex-semenyuk
committed
Added xml support for event listener and made minor cleanup
1 parent 236b808 commit 971d625

File tree

6 files changed

+27
-24
lines changed

6 files changed

+27
-24
lines changed

spring-data-mongodb/src/main/java/org/baeldung/config/MongoConfig.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,8 @@
33
import java.util.ArrayList;
44
import java.util.List;
55

6-
76
import org.baeldung.converter.UserWriterConverter;
8-
import org.baeldung.event.CascadingMongoEventListener;
7+
import org.baeldung.event.CascadeSaveMongoEventListener;
98
import org.springframework.context.annotation.Bean;
109
import org.springframework.context.annotation.Configuration;
1110
import org.springframework.data.mongodb.config.AbstractMongoConfiguration;
@@ -20,7 +19,7 @@
2019
@EnableMongoRepositories(basePackages = "org.baeldung.repository")
2120
public class MongoConfig extends AbstractMongoConfiguration {
2221

23-
private List<Converter<?,?>> converters = new ArrayList<Converter<?,?>>();
22+
private List<Converter<?, ?>> converters = new ArrayList<Converter<?, ?>>();
2423

2524
@Override
2625
protected String getDatabaseName() {
@@ -36,15 +35,15 @@ public Mongo mongo() throws Exception {
3635
public String getMappingBasePackage() {
3736
return "org.baeldung";
3837
}
39-
38+
4039
@Bean
41-
public CascadingMongoEventListener cascadingMongoEventListener(){
42-
return new CascadingMongoEventListener();
40+
public CascadeSaveMongoEventListener cascadingMongoEventListener() {
41+
return new CascadeSaveMongoEventListener();
4342
}
44-
43+
4544
@Override
4645
public CustomConversions customConversions() {
47-
converters.add(new UserWriterConverter());
48-
return new CustomConversions(converters);
46+
converters.add(new UserWriterConverter());
47+
return new CustomConversions(converters);
4948
}
5049
}

spring-data-mongodb/src/main/java/org/baeldung/event/CascadingMongoEventListener.java renamed to spring-data-mongodb/src/main/java/org/baeldung/event/CascadeSaveMongoEventListener.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
import java.lang.reflect.Field;
1111

12-
public class CascadingMongoEventListener extends AbstractMongoEventListener<Object> {
12+
public class CascadeSaveMongoEventListener extends AbstractMongoEventListener<Object> {
1313
@Autowired
1414
private MongoOperations mongoOperations;
1515

@@ -24,7 +24,7 @@ public void doWith(Field field) throws IllegalArgumentException, IllegalAccessEx
2424
final Object fieldValue = field.get(source);
2525

2626
if (fieldValue != null) {
27-
DbRefFieldCallback callback = new DbRefFieldCallback();
27+
FieldCallback callback = new FieldCallback();
2828

2929
ReflectionUtils.doWithFields(fieldValue.getClass(), callback);
3030

spring-data-mongodb/src/main/java/org/baeldung/event/DbRefFieldCallback.java renamed to spring-data-mongodb/src/main/java/org/baeldung/event/FieldCallback.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import org.springframework.data.annotation.Id;
66
import org.springframework.util.ReflectionUtils;
77

8-
public class DbRefFieldCallback implements ReflectionUtils.FieldCallback {
8+
public class FieldCallback implements ReflectionUtils.FieldCallback {
99
private boolean idFound;
1010

1111
public void doWith(Field field) throws IllegalArgumentException, IllegalAccessException {

spring-data-mongodb/src/main/java/org/baeldung/model/EmailAddress.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ public class EmailAddress {
88
@Id
99
private String id;
1010
private String value;
11-
12-
public EmailAddress(){
11+
12+
public EmailAddress() {
1313
}
14-
14+
1515
public EmailAddress(String value) {
16-
this.value = value;
16+
this.value = value;
1717
}
1818

1919
public String getId() {

spring-data-mongodb/src/main/java/org/baeldung/model/User.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,16 @@ public class User {
2020
private String name;
2121

2222
private Integer age;
23-
23+
2424
@DBRef
2525
@Field("email")
2626
@CascadeSave
2727
private EmailAddress emailAddress;
28-
29-
public User(){
28+
29+
public User() {
3030
}
3131

32-
33-
public User(String name, Integer age, String value){
32+
public User(String name, Integer age, String value) {
3433
this.name = name;
3534
this.age = age;
3635
this.emailAddress = new EmailAddress(value);

spring-data-mongodb/src/main/resources/mongoConfig.xml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,26 @@
1010
http://www.springframework.org/schema/context/spring-context-3.2.xsd"
1111
>
1212
<context:annotation-config/>
13-
13+
1414
<bean id="mongo" class="org.springframework.data.mongodb.core.MongoFactoryBean">
1515
<property name="host" value="localhost"/>
1616
</bean>
1717

1818
<bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate">
1919
<constructor-arg name="mongo" ref="mongo"/>
20+
<constructor-arg ref="mongoConverter" />
2021
<constructor-arg name="databaseName" value="test"/>
2122
</bean>
2223

2324
<bean class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor"/>
2425

2526
<mongo:repositories base-package="org.baeldung.repository" mongo-template-ref="mongoTemplate"/>
26-
27-
<bean class="org.baeldung.event.BeforeConvertListener">
27+
28+
<bean class="org.baeldung.event.CascadingMongoEventListener">
2829
</bean>
2930

31+
<mongo:mapping-converter id="mongoConverter" base-package="org.baeldung.converter">
32+
<mongo:custom-converters base-package="org.baeldung.converter"/>
33+
</mongo:mapping-converter>
34+
3035
</beans>

0 commit comments

Comments
 (0)