Add factory method to Reactive-/AuditingHandler.
By providing a factory method that accepts the MappingContext we can avoid the creation of additional support beans during the configuration phase for store modules implementing auditing. See: #2593
This commit is contained in:
@@ -19,9 +19,9 @@ import java.util.Optional;
|
||||
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
||||
import org.springframework.beans.factory.InitializingBean;
|
||||
import org.springframework.data.domain.AuditorAware;
|
||||
import org.springframework.data.mapping.context.MappingContext;
|
||||
import org.springframework.data.mapping.context.PersistentEntities;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
@@ -53,6 +53,16 @@ public class AuditingHandler extends AuditingHandlerSupport implements Initializ
|
||||
this.auditorAware = Optional.empty();
|
||||
}
|
||||
|
||||
/**
|
||||
* Factory method that creates a new {@link AuditingHandler} for the given {@link MappingContext}.
|
||||
*
|
||||
* @param mappingContext must not be {@literal null}.
|
||||
* @since 3.0
|
||||
*/
|
||||
public static AuditingHandler from(MappingContext<?, ?> mappingContext) {
|
||||
return new AuditingHandler(PersistentEntities.of(mappingContext));
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter to inject a {@code AuditorAware} component to retrieve the current auditor.
|
||||
*
|
||||
|
||||
@@ -18,6 +18,7 @@ package org.springframework.data.auditing;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
import org.springframework.data.domain.ReactiveAuditorAware;
|
||||
import org.springframework.data.mapping.context.MappingContext;
|
||||
import org.springframework.data.mapping.context.PersistentEntities;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
@@ -42,6 +43,16 @@ public class ReactiveAuditingHandler extends AuditingHandlerSupport {
|
||||
super(entities);
|
||||
}
|
||||
|
||||
/**
|
||||
* Factory method that creates a new {@link ReactiveAuditingHandler} for the given {@link MappingContext}.
|
||||
*
|
||||
* @param mappingContext must not be {@literal null}.
|
||||
* @since 3.0
|
||||
*/
|
||||
public static ReactiveAuditingHandler from(MappingContext<?, ?> mappingContext) {
|
||||
return new ReactiveAuditingHandler(PersistentEntities.of(mappingContext));
|
||||
}
|
||||
|
||||
/**
|
||||
* Setter to inject a {@link ReactiveAuditorAware} component to retrieve the current auditor.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user