DATACOUCH-519 - Apply formatting for changes

This commit is contained in:
Michael Nitschinger
2020-05-06 10:35:04 +02:00
parent e8e13ffebc
commit e262a05184
29 changed files with 323 additions and 365 deletions

View File

@@ -17,7 +17,9 @@
package org.springframework.data.couchbase.core;
import org.springframework.beans.BeansException;
import org.springframework.context.*;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.dao.DataAccessException;
import org.springframework.dao.support.PersistenceExceptionTranslator;
import org.springframework.data.couchbase.CouchbaseClientFactory;
@@ -32,8 +34,7 @@ import org.springframework.lang.Nullable;
import com.couchbase.client.java.Collection;
/**
* Implements Couchbase operations
* findBy, insertBy, upsertBy, replaceBy, removeBy, existsBy
* Implements Couchbase operations findBy, insertBy, upsertBy, replaceBy, removeBy, existsBy
*
* @author Michael Nitschinger
* @author Michael Reiche

View File

@@ -27,7 +27,11 @@ import org.springframework.data.couchbase.core.convert.translation.TranslationSe
import org.springframework.data.couchbase.core.mapping.CouchbaseDocument;
import org.springframework.data.couchbase.core.mapping.CouchbasePersistentEntity;
import org.springframework.data.couchbase.core.mapping.CouchbasePersistentProperty;
import org.springframework.data.couchbase.core.mapping.event.*;
import org.springframework.data.couchbase.core.mapping.event.AfterConvertCallback;
import org.springframework.data.couchbase.core.mapping.event.BeforeConvertCallback;
import org.springframework.data.couchbase.core.mapping.event.BeforeConvertEvent;
import org.springframework.data.couchbase.core.mapping.event.BeforeSaveEvent;
import org.springframework.data.couchbase.core.mapping.event.CouchbaseMappingEvent;
import org.springframework.data.couchbase.repository.support.MappingCouchbaseEntityInformation;
import org.springframework.data.mapping.PersistentPropertyAccessor;
import org.springframework.data.mapping.callback.EntityCallbacks;
@@ -49,8 +53,8 @@ public class CouchbaseTemplateSupport implements ApplicationContextAware {
private final MappingContext<? extends CouchbasePersistentEntity<?>, CouchbasePersistentProperty> mappingContext;
// TODO: this should be replaced I think
private final TranslationService translationService;
private ApplicationContext applicationContext;
EntityCallbacks entityCallbacks;
private ApplicationContext applicationContext;
public CouchbaseTemplateSupport(final CouchbaseConverter converter) {
this.converter = converter;
@@ -74,8 +78,7 @@ public class CouchbaseTemplateSupport implements ApplicationContextAware {
T readEntity = converter.read(entityClass, (CouchbaseDocument) translationService.decode(source, converted));
final ConvertingPropertyAccessor<T> accessor = getPropertyAccessor(readEntity);
CouchbasePersistentEntity<?> persistentEntity = mappingContext.getRequiredPersistentEntity(
readEntity.getClass());
CouchbasePersistentEntity<?> persistentEntity = mappingContext.getRequiredPersistentEntity(readEntity.getClass());
if (persistentEntity.getVersionProperty() != null) {
accessor.setProperty(persistentEntity.getVersionProperty(), cas);
@@ -85,8 +88,7 @@ public class CouchbaseTemplateSupport implements ApplicationContextAware {
public void applyUpdatedCas(final Object entity, final long cas) {
final ConvertingPropertyAccessor<Object> accessor = getPropertyAccessor(entity);
final CouchbasePersistentEntity<?> persistentEntity = mappingContext.getRequiredPersistentEntity(
entity.getClass());
final CouchbasePersistentEntity<?> persistentEntity = mappingContext.getRequiredPersistentEntity(entity.getClass());
final CouchbasePersistentProperty versionProperty = persistentEntity.getVersionProperty();
if (versionProperty != null) {

View File

@@ -19,7 +19,6 @@ package org.springframework.data.couchbase.core;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.dao.DataAccessException;
import org.springframework.dao.support.PersistenceExceptionTranslator;
import org.springframework.data.couchbase.CouchbaseClientFactory;

View File

@@ -33,8 +33,6 @@ import org.springframework.context.ApplicationContextAware;
import org.springframework.core.CollectionFactory;
import org.springframework.core.convert.ConversionService;
import org.springframework.core.convert.support.DefaultConversionService;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.convert.EntityInstantiator;
import org.springframework.data.couchbase.core.mapping.CouchbaseDocument;
import org.springframework.data.couchbase.core.mapping.CouchbaseList;
@@ -64,9 +62,9 @@ import org.springframework.data.mapping.model.SpELExpressionEvaluator;
import org.springframework.data.mapping.model.SpELExpressionParameterValueProvider;
import org.springframework.data.util.ClassTypeInformation;
import org.springframework.data.util.TypeInformation;
import org.springframework.lang.Nullable;
import org.springframework.util.Assert;
import org.springframework.util.CollectionUtils;
import org.springframework.lang.Nullable;
/**
* A mapping converter for Couchbase. The converter is responsible for reading from and writing to entities and
@@ -112,8 +110,7 @@ public class MappingCouchbaseConverter extends AbstractCouchbaseConverter implem
/**
* Callbacks for Audit Mechanism
*/
private @Nullable
EntityCallbacks entityCallbacks;
private @Nullable EntityCallbacks entityCallbacks;
public MappingCouchbaseConverter() {
super(new DefaultConversionService());
@@ -138,7 +135,7 @@ public class MappingCouchbaseConverter extends AbstractCouchbaseConverter implem
* attribute.
*
* @param mappingContext the mapping context to use.
* @param typeKey the attribute name to use to store complex types class name.
* @param typeKey the attribute name to use to store complex types class name.
*/
public MappingCouchbaseConverter(
final MappingContext<? extends CouchbasePersistentEntity<?>, CouchbasePersistentProperty> mappingContext,
@@ -167,7 +164,7 @@ public class MappingCouchbaseConverter extends AbstractCouchbaseConverter implem
/**
* Check if one class is a subtype of the other.
*
* @param left the first class.
* @param left the first class.
* @param right the second class.
* @return true if it is a subtype, false otherwise.
*/
@@ -193,9 +190,9 @@ public class MappingCouchbaseConverter extends AbstractCouchbaseConverter implem
/**
* Read an incoming {@link CouchbaseDocument} into the target entity.
*
* @param type the type information of the target entity.
* @param type the type information of the target entity.
* @param source the document to convert.
* @param <R> the entity type.
* @param <R> the entity type.
* @return the converted entity.
*/
protected <R> R read(final TypeInformation<R> type, final CouchbaseDocument source) {
@@ -205,10 +202,10 @@ public class MappingCouchbaseConverter extends AbstractCouchbaseConverter implem
/**
* Read an incoming {@link CouchbaseDocument} into the target entity.
*
* @param type the type information of the target entity.
* @param type the type information of the target entity.
* @param source the document to convert.
* @param parent an optional parent object.
* @param <R> the entity type.
* @param <R> the entity type.
* @return the converted entity.
*/
@SuppressWarnings("unchecked")
@@ -228,8 +225,8 @@ public class MappingCouchbaseConverter extends AbstractCouchbaseConverter implem
return (R) readMap(typeToUse, source, parent);
}
CouchbasePersistentEntity<R> entity = (CouchbasePersistentEntity<R>) mappingContext.getRequiredPersistentEntity(
typeToUse);
CouchbasePersistentEntity<R> entity = (CouchbasePersistentEntity<R>) mappingContext
.getRequiredPersistentEntity(typeToUse);
return read(entity, source, parent);
}
@@ -243,11 +240,10 @@ public class MappingCouchbaseConverter extends AbstractCouchbaseConverter implem
* @param entity the target entity.
* @param source the document to convert.
* @param parent an optional parent object.
* @param <R> the entity type.
* @param <R> the entity type.
* @return the converted entity.
*/
protected <R> R read(final CouchbasePersistentEntity<R> entity, final CouchbaseDocument source,
final Object parent) {
protected <R> R read(final CouchbasePersistentEntity<R> entity, final CouchbaseDocument source, final Object parent) {
final DefaultSpELExpressionEvaluator evaluator = new DefaultSpELExpressionEvaluator(source, spELContext);
ParameterValueProvider<CouchbasePersistentProperty> provider = getParameterProvider(entity, source, evaluator,
parent);
@@ -259,8 +255,8 @@ public class MappingCouchbaseConverter extends AbstractCouchbaseConverter implem
entity.doWithProperties(new PropertyHandler<CouchbasePersistentProperty>() {
@Override
public void doWithPersistentProperty(final CouchbasePersistentProperty prop) {
if (!doesPropertyExistInSource(prop) || entity.isConstructorArgument(prop) || isIdConstructionProperty(
prop) || prop.isAnnotationPresent(N1qlJoin.class)) {
if (!doesPropertyExistInSource(prop) || entity.isConstructorArgument(prop) || isIdConstructionProperty(prop)
|| prop.isAnnotationPresent(N1qlJoin.class)) {
return;
}
Object obj = prop.isIdProperty() ? source.getId() : getValueInternal(prop, source, instance);
@@ -289,8 +285,8 @@ public class MappingCouchbaseConverter extends AbstractCouchbaseConverter implem
* Loads the property value through the value provider.
*
* @param property the source property.
* @param source the source document.
* @param parent the optional parent.
* @param source the source document.
* @param parent the optional parent.
* @return the actual property value.
*/
protected Object getValueInternal(final CouchbasePersistentProperty property, final CouchbaseDocument source,
@@ -301,10 +297,10 @@ public class MappingCouchbaseConverter extends AbstractCouchbaseConverter implem
/**
* Creates a new parameter provider.
*
* @param entity the persistent entity.
* @param source the source document.
* @param entity the persistent entity.
* @param source the source document.
* @param evaluator the SPEL expression evaluator.
* @param parent the optional parent.
* @param parent the optional parent.
* @return a new parameter value provider.
*/
private ParameterValueProvider<CouchbasePersistentProperty> getParameterProvider(
@@ -321,7 +317,7 @@ public class MappingCouchbaseConverter extends AbstractCouchbaseConverter implem
/**
* Recursively parses the a map from the source document.
*
* @param type the type information for the document.
* @param type the type information for the document.
* @param source the source document.
* @param parent the optional parent.
* @return the recursively parsed map.
@@ -362,7 +358,7 @@ public class MappingCouchbaseConverter extends AbstractCouchbaseConverter implem
/**
* Potentially convert simple values like ENUMs.
*
* @param value the value to convert.
* @param value the value to convert.
* @param target the target object.
* @return the potentially converted object.
*/
@@ -406,16 +402,15 @@ public class MappingCouchbaseConverter extends AbstractCouchbaseConverter implem
writeInternal(source, target, type);
if (target.getId() == null) {
throw new MappingException(
"An ID property is needed, but not found/could not be generated on this entity.");
throw new MappingException("An ID property is needed, but not found/could not be generated on this entity.");
}
}
/**
* Convert a source object into a {@link CouchbaseDocument} target.
*
* @param source the source object.
* @param target the target document.
* @param source the source object.
* @param target the target document.
* @param typeHint the type information for the source.
*/
@SuppressWarnings("unchecked")
@@ -565,7 +560,7 @@ public class MappingCouchbaseConverter extends AbstractCouchbaseConverter implem
*
* @param source the source object.
* @param target the target document.
* @param prop the property information.
* @param prop the property information.
*/
@SuppressWarnings("unchecked")
private void writePropertyInternal(final Object source, final CouchbaseDocument target,
@@ -615,9 +610,9 @@ public class MappingCouchbaseConverter extends AbstractCouchbaseConverter implem
CouchbaseDocument propertyDoc = new CouchbaseDocument();
addCustomTypeKeyIfNecessary(type, source, propertyDoc);
CouchbasePersistentEntity<?> entity = isSubtype(prop.getType(), source.getClass()) ?
mappingContext.getRequiredPersistentEntity(source.getClass()) :
mappingContext.getRequiredPersistentEntity(type);
CouchbasePersistentEntity<?> entity = isSubtype(prop.getType(), source.getClass())
? mappingContext.getRequiredPersistentEntity(source.getClass())
: mappingContext.getRequiredPersistentEntity(type);
writeInternal(source, propertyDoc, entity);
target.put(name, propertyDoc);
}
@@ -625,7 +620,7 @@ public class MappingCouchbaseConverter extends AbstractCouchbaseConverter implem
/**
* Wrapper method to create the underlying map.
*
* @param map the source map.
* @param map the source map.
* @param prop the persistent property.
* @return the written couchbase document.
*/
@@ -641,7 +636,7 @@ public class MappingCouchbaseConverter extends AbstractCouchbaseConverter implem
*
* @param source the source object.
* @param target the target document.
* @param type the type information for the document.
* @param type the type information for the document.
* @return the written couchbase document.
*/
private CouchbaseDocument writeMapInternal(final Map<Object, Object> source, final CouchbaseDocument target,
@@ -660,9 +655,7 @@ public class MappingCouchbaseConverter extends AbstractCouchbaseConverter implem
new CouchbaseList(conversions.getSimpleTypeHolder()), type.getMapValueType()));
} else {
CouchbaseDocument embeddedDoc = new CouchbaseDocument();
TypeInformation<?> valueTypeInfo = type.isMap() ?
type.getMapValueType() :
ClassTypeInformation.OBJECT;
TypeInformation<?> valueTypeInfo = type.isMap() ? type.getMapValueType() : ClassTypeInformation.OBJECT;
writeInternal(val, embeddedDoc, valueTypeInfo);
target.put(simpleKey, embeddedDoc);
}
@@ -678,7 +671,7 @@ public class MappingCouchbaseConverter extends AbstractCouchbaseConverter implem
* Helper method to create the underlying collection/list.
*
* @param collection the collection to write.
* @param prop the property information.
* @param prop the property information.
* @return the created couchbase list.
*/
private CouchbaseList createCollection(final Collection<?> collection, final CouchbasePersistentProperty prop) {
@@ -691,7 +684,7 @@ public class MappingCouchbaseConverter extends AbstractCouchbaseConverter implem
*
* @param source the source object.
* @param target the target document.
* @param type the type information for the document.
* @param type the type information for the document.
* @return the created couchbase list.
*/
private CouchbaseList writeCollectionInternal(final Collection<?> source, final CouchbaseList target,
@@ -704,8 +697,8 @@ public class MappingCouchbaseConverter extends AbstractCouchbaseConverter implem
if (elementType == null || conversions.isSimpleType(elementType)) {
target.put(getPotentiallyConvertedSimpleWrite(element));
} else if (element instanceof Collection || elementType.isArray()) {
target.put(writeCollectionInternal(asCollection(element),
new CouchbaseList(conversions.getSimpleTypeHolder()), componentType));
target.put(writeCollectionInternal(asCollection(element), new CouchbaseList(conversions.getSimpleTypeHolder()),
componentType));
} else {
CouchbaseDocument embeddedDoc = new CouchbaseDocument();
@@ -722,13 +715,12 @@ public class MappingCouchbaseConverter extends AbstractCouchbaseConverter implem
* Read a collection from the source object.
*
* @param targetType the target type.
* @param source the list as source.
* @param parent the optional parent.
* @param source the list as source.
* @param parent the optional parent.
* @return the instantiated collection.
*/
@SuppressWarnings("unchecked")
private Object readCollection(final TypeInformation<?> targetType, final CouchbaseList source,
final Object parent) {
private Object readCollection(final TypeInformation<?> targetType, final CouchbaseList source, final Object parent) {
Assert.notNull(targetType, "Target type must not be null!");
Class<?> collectionType = targetType.getType();
@@ -737,9 +729,8 @@ public class MappingCouchbaseConverter extends AbstractCouchbaseConverter implem
}
collectionType = Collection.class.isAssignableFrom(collectionType) ? collectionType : List.class;
Collection<Object> items = targetType.getType().isArray() ?
new ArrayList<Object>() :
CollectionFactory.createCollection(collectionType, source.size(false));
Collection<Object> items = targetType.getType().isArray() ? new ArrayList<Object>()
: CollectionFactory.createCollection(collectionType, source.size(false));
TypeInformation<?> componentType = targetType.getComponentType();
Class<?> rawComponentType = componentType == null ? null : componentType.getType();
@@ -764,7 +755,7 @@ public class MappingCouchbaseConverter extends AbstractCouchbaseConverter implem
*
* @param source the source object.
* @param target the target document.
* @param key the key of the object.
* @param key the key of the object.
*/
private void writeSimpleInternal(final Object source, final CouchbaseDocument target, final String key) {
target.put(key, getPotentiallyConvertedSimpleWrite(source));
@@ -777,14 +768,14 @@ public class MappingCouchbaseConverter extends AbstractCouchbaseConverter implem
Optional<Class<?>> customTarget = conversions.getCustomWriteTarget(value.getClass());
return customTarget.map(it -> (Object) conversionService.convert(value, it)).orElseGet(
() -> Enum.class.isAssignableFrom(value.getClass()) ? ((Enum<?>) value).name() : value);
return customTarget.map(it -> (Object) conversionService.convert(value, it))
.orElseGet(() -> Enum.class.isAssignableFrom(value.getClass()) ? ((Enum<?>) value).name() : value);
}
/**
* Add a custom type key if needed.
*
* @param type the type information.
* @param type the type information.
* @param source th the source object.
* @param target the target document.
*/
@@ -807,8 +798,7 @@ public class MappingCouchbaseConverter extends AbstractCouchbaseConverter implem
}
/**
* COPIED
* Set the {@link EntityCallbacks} instance to use when invoking
* COPIED Set the {@link EntityCallbacks} instance to use when invoking
* {@link org.springframework.data.mapping.callback.EntityCallback callbacks} like the {@link AfterConvertCallback}.
* <p/>
* Overrides potentially existing {@link EntityCallbacks}.
@@ -825,10 +815,10 @@ public class MappingCouchbaseConverter extends AbstractCouchbaseConverter implem
/**
* Helper method to read the value based on the value type.
*
* @param value the value to convert.
* @param type the type information.
* @param value the value to convert.
* @param type the type information.
* @param parent the optional parent.
* @param <R> the target type.
* @param <R> the target type.
* @return the converted object.
*/
@SuppressWarnings("unchecked")
@@ -961,8 +951,8 @@ public class MappingCouchbaseConverter extends AbstractCouchbaseConverter implem
private final Object parent;
public ConverterAwareSpELExpressionParameterValueProvider(final SpELExpressionEvaluator evaluator,
final ConversionService conversionService,
final ParameterValueProvider<CouchbasePersistentProperty> delegate, final Object parent) {
final ConversionService conversionService, final ParameterValueProvider<CouchbasePersistentProperty> delegate,
final Object parent) {
super(evaluator, conversionService, delegate);
this.parent = parent;
}

View File

@@ -34,8 +34,8 @@ public interface AfterConvertCallback<T> extends EntityCallback<T> {
* Entity callback method invoked after a domain object is materialized from a {@link Document}. Can return either the
* same or a modified instance of the domain object.
*
* @param entity the domain object (the result of the conversion).
* @param document must not be {@literal null}.
* @param entity the domain object (the result of the conversion).
* @param document must not be {@literal null}.
* @param collection name of the collection.
* @return the domain object that is the result of reading it from the {@link Document}.
*/

View File

@@ -32,7 +32,7 @@ public interface BeforeConvertCallback<T> extends EntityCallback<T> {
* Entity callback method invoked before a domain object is converted to be persisted. Can return either the same or a
* modified instance of the domain object.
*
* @param entity the domain object to save.
* @param entity the domain object to save.
* @param collection name of the collection.
* @return the domain object to be persisted.
*/

View File

@@ -34,8 +34,8 @@ import org.springframework.data.couchbase.core.mapping.event.AuditingEventListen
import org.springframework.util.Assert;
/**
* A support registrar that allows to set up auditing for Couchbase (including {@link AuditingHandler}
* and { IsNewStrategyFactory} set up). See {@link EnableCouchbaseAuditing} for the associated annotation.
* A support registrar that allows to set up auditing for Couchbase (including {@link AuditingHandler} and {
* IsNewStrategyFactory} set up). See {@link EnableCouchbaseAuditing} for the associated annotation.
*
* @author Thomas Darimont
* @author Oliver Gierke
@@ -44,56 +44,56 @@ import org.springframework.util.Assert;
*/
public class CouchbaseAuditingRegistrar extends AuditingBeanDefinitionRegistrarSupport {
@Override
protected Class<? extends Annotation> getAnnotation() {
return EnableCouchbaseAuditing.class;
}
@Override
protected Class<? extends Annotation> getAnnotation() {
return EnableCouchbaseAuditing.class;
}
@Override
protected String getAuditingHandlerBeanName() {
return BeanNames.COUCHBASE_AUDITING_HANDLER;
}
@Override
protected String getAuditingHandlerBeanName() {
return BeanNames.COUCHBASE_AUDITING_HANDLER;
}
@Override
public void registerBeanDefinitions(AnnotationMetadata annotationMetadata, BeanDefinitionRegistry registry) {
Assert.notNull(annotationMetadata, "AnnotationMetadata must not be null!");
Assert.notNull(registry, "BeanDefinitionRegistry must not be null!");
@Override
public void registerBeanDefinitions(AnnotationMetadata annotationMetadata, BeanDefinitionRegistry registry) {
Assert.notNull(annotationMetadata, "AnnotationMetadata must not be null!");
Assert.notNull(registry, "BeanDefinitionRegistry must not be null!");
ensureMappingContext(registry, annotationMetadata);
super.registerBeanDefinitions(annotationMetadata, registry);
}
ensureMappingContext(registry, annotationMetadata);
super.registerBeanDefinitions(annotationMetadata, registry);
}
@Override
protected BeanDefinitionBuilder getAuditHandlerBeanDefinitionBuilder(AuditingConfiguration configuration) {
Assert.notNull(configuration, "AuditingConfiguration must not be null!");
@Override
protected BeanDefinitionBuilder getAuditHandlerBeanDefinitionBuilder(AuditingConfiguration configuration) {
Assert.notNull(configuration, "AuditingConfiguration must not be null!");
BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(IsNewAwareAuditingHandler.class);
builder.addConstructorArgReference(BeanNames.COUCHBASE_MAPPING_CONTEXT);
return configureDefaultAuditHandlerAttributes(configuration, builder);
}
BeanDefinitionBuilder builder = BeanDefinitionBuilder.rootBeanDefinition(IsNewAwareAuditingHandler.class);
builder.addConstructorArgReference(BeanNames.COUCHBASE_MAPPING_CONTEXT);
return configureDefaultAuditHandlerAttributes(configuration, builder);
}
@Override
protected void registerAuditListenerBeanDefinition(BeanDefinition auditingHandlerDefinition,
BeanDefinitionRegistry registry) {
Assert.notNull(auditingHandlerDefinition, "BeanDefinition must not be null!");
Assert.notNull(registry, "BeanDefinitionRegistry must not be null!");
@Override
protected void registerAuditListenerBeanDefinition(BeanDefinition auditingHandlerDefinition,
BeanDefinitionRegistry registry) {
Assert.notNull(auditingHandlerDefinition, "BeanDefinition must not be null!");
Assert.notNull(registry, "BeanDefinitionRegistry must not be null!");
BeanDefinitionBuilder listenerBeanDefinitionBuilder = BeanDefinitionBuilder
.rootBeanDefinition(AuditingEventListener.class);
listenerBeanDefinitionBuilder.addConstructorArgValue(ParsingUtils.getObjectFactoryBeanDefinition(
getAuditingHandlerBeanName(), registry));
BeanDefinitionBuilder listenerBeanDefinitionBuilder = BeanDefinitionBuilder
.rootBeanDefinition(AuditingEventListener.class);
listenerBeanDefinitionBuilder
.addConstructorArgValue(ParsingUtils.getObjectFactoryBeanDefinition(getAuditingHandlerBeanName(), registry));
registerInfrastructureBeanWithId(listenerBeanDefinitionBuilder.getBeanDefinition(),
AuditingEventListener.class.getName(), registry);
}
registerInfrastructureBeanWithId(listenerBeanDefinitionBuilder.getBeanDefinition(),
AuditingEventListener.class.getName(), registry);
}
private void ensureMappingContext(BeanDefinitionRegistry registry, Object source) {
if (!registry.containsBeanDefinition(BeanNames.COUCHBASE_MAPPING_CONTEXT)) {
RootBeanDefinition definition = new RootBeanDefinition(CouchbaseMappingContext.class);
definition.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
definition.setSource(source);
private void ensureMappingContext(BeanDefinitionRegistry registry, Object source) {
if (!registry.containsBeanDefinition(BeanNames.COUCHBASE_MAPPING_CONTEXT)) {
RootBeanDefinition definition = new RootBeanDefinition(CouchbaseMappingContext.class);
definition.setRole(BeanDefinition.ROLE_INFRASTRUCTURE);
definition.setSource(source);
registry.registerBeanDefinition(BeanNames.COUCHBASE_MAPPING_CONTEXT, definition);
}
}
registry.registerBeanDefinition(BeanNames.COUCHBASE_MAPPING_CONTEXT, definition);
}
}
}

View File

@@ -41,24 +41,24 @@ import org.springframework.data.domain.AuditorAware;
@Retention(RetentionPolicy.RUNTIME)
@Import(CouchbaseAuditingRegistrar.class)
public @interface EnableCouchbaseAuditing {
/**
* Configures the {@link AuditorAware} bean to be used to lookup the current principal.
*/
String auditorAwareRef() default "auditorAwareRef";
/**
* Configures the {@link AuditorAware} bean to be used to lookup the current principal.
*/
String auditorAwareRef() default "auditorAwareRef";
/**
* Configures whether the creation and modification dates are set. Defaults to {@literal true}.
*/
boolean setDates() default true;
/**
* Configures whether the creation and modification dates are set. Defaults to {@literal true}.
*/
boolean setDates() default true;
/**
* Configures whether the entity shall be marked as modified on creation. Defaults to {@literal true}.
*/
boolean modifyOnCreate() default true;
/**
* Configures whether the entity shall be marked as modified on creation. Defaults to {@literal true}.
*/
boolean modifyOnCreate() default true;
/**
* Configures a {@link DateTimeProvider} bean name that allows customizing the {@link org.joda.time.DateTime} to be
* used for setting creation and modification dates.
*/
String dateTimeProviderRef() default "dateTimeProviderRef";
/**
* Configures a {@link DateTimeProvider} bean name that allows customizing the {@link org.joda.time.DateTime} to be
* used for setting creation and modification dates.
*/
String dateTimeProviderRef() default "dateTimeProviderRef";
}