This is an automated email from the ASF dual-hosted git repository. borinquenkid pushed a commit to branch 8.0.x-hibernate7 in repository https://gitbox.apache.org/repos/asf/grails-core.git
commit cddc0798251c6377a8b125e0f5549fa942831759 Author: Walter Duque de Estrada <[email protected]> AuthorDate: Sat Feb 21 14:45:52 2026 -0600 fixed compiler warnings --- build.gradle | 5 ++ grails-data-hibernate7/core/build.gradle | 13 ++++ .../orm/hibernate/AbstractHibernateDatastore.java | 70 +++++++++++++++++++++- .../orm/hibernate/AbstractHibernateSession.java | 9 ++- .../cfg/domainbinding/binder/ClassBinder.java | 3 + .../binder/ClassPropertiesBinder.java | 6 ++ .../cfg/domainbinding/binder/CollectionBinder.java | 7 +++ .../binder/CollectionForPropertyConfigBinder.java | 6 ++ .../collectionType/BagCollectionType.java | 6 ++ .../collectionType/CollectionHolder.java | 9 +++ .../collectionType/CollectionType.java | 14 +++++ .../secondpass/BidirectionalOneToManyLinker.java | 6 ++ .../secondpass/CollectionKeyColumnUpdater.java | 3 + .../secondpass/CollectionSecondPassBinder.java | 6 ++ .../secondpass/CollectionWithJoinTableBinder.java | 6 ++ .../cfg/domainbinding/util/BackticksRemover.java | 4 ++ .../domainbinding/util/BasicValueIdCreator.java | 12 ++++ .../cfg/domainbinding/util/CascadeBehavior.java | 9 +++ .../domainbinding/util/CascadeBehaviorFetcher.java | 12 ++++ .../AbstractHibernateConnectionSourceFactory.java | 3 +- .../listener/AbstractHibernateEventListener.java | 6 ++ .../orm/hibernate/query/AliasMapEntryFunction.java | 1 + .../hibernate/support/ClosureEventListener.java | 13 ++++ .../support/ClosureEventTriggeringInterceptor.java | 8 +++ 24 files changed, 234 insertions(+), 3 deletions(-) diff --git a/build.gradle b/build.gradle index f3c0620391..c05bbf2b18 100644 --- a/build.gradle +++ b/build.gradle @@ -79,6 +79,11 @@ subprojects { cacheChangingModulesFor(cacheHours, 'hours') } } + pluginManager.withPlugin('jacoco') { + jacoco { + toolVersion = "0.8.14" // Set the specific tool version here + } + } } apply { diff --git a/grails-data-hibernate7/core/build.gradle b/grails-data-hibernate7/core/build.gradle index 5bf342dcf8..04e20741e4 100644 --- a/grails-data-hibernate7/core/build.gradle +++ b/grails-data-hibernate7/core/build.gradle @@ -20,6 +20,7 @@ plugins { id 'groovy' id 'java-library' + id 'jacoco' } version = projectVersion @@ -134,3 +135,15 @@ apply { from rootProject.layout.projectDirectory.file('gradle/grails-data-tck-config.gradle') from rootProject.layout.projectDirectory.file('gradle/docs-config.gradle') } + +test { + finalizedBy jacocoTestReport +} + +jacocoTestReport { + dependsOn test + reports { + xml.required = true + html.required = true + } +} diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/AbstractHibernateDatastore.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/AbstractHibernateDatastore.java index 2e37127cb1..8aeb6dc2f8 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/AbstractHibernateDatastore.java +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/AbstractHibernateDatastore.java @@ -70,28 +70,49 @@ public abstract class AbstractHibernateDatastore extends AbstractDatastore MessageSourceAware, MultipleConnectionSourceCapableDatastore { + /** The config property cache queries. */ public static final String CONFIG_PROPERTY_CACHE_QUERIES = "grails.hibernate.cache.queries"; + /** The config property osiv readonly. */ public static final String CONFIG_PROPERTY_OSIV_READONLY = "grails.hibernate.osiv.readonly"; + /** The config property pass readonly to hibernate. */ public static final String CONFIG_PROPERTY_PASS_READONLY_TO_HIBERNATE = "grails.hibernate.pass.readonly"; + /** The session factory. */ protected final SessionFactory sessionFactory; + /** The connection sources. */ protected final ConnectionSources<SessionFactory, HibernateConnectionSourceSettings> connectionSources; + /** The default flush mode name. */ protected final String defaultFlushModeName; + /** The multi tenant mode. */ protected final MultiTenancySettings.MultiTenancyMode multiTenantMode; + /** The schema handler. */ protected final SchemaHandler schemaHandler; + /** The event triggering interceptor. */ protected AbstractHibernateEventListener eventTriggeringInterceptor; + /** The auto timestamp event listener. */ protected AutoTimestampEventListener autoTimestampEventListener; + /** The osiv read only. */ protected final boolean osivReadOnly; + /** The pass read only to hibernate. */ protected final boolean passReadOnlyToHibernate; + /** The is cache queries. */ protected final boolean isCacheQueries; + /** The default flush mode. */ protected final int defaultFlushMode; + /** The fail on error. */ protected final boolean failOnError; + /** The mark dirty. */ protected final boolean markDirty; + /** The data source name. */ protected final String dataSourceName; + /** The tenant resolver. */ protected final TenantResolver tenantResolver; private boolean destroyed; + /** + * Creates a new {@link AbstractHibernateDatastore} instance. + */ protected AbstractHibernateDatastore( ConnectionSources<SessionFactory, HibernateConnectionSourceSettings> connectionSources, HibernateMappingContext mappingContext) { @@ -125,6 +146,9 @@ public abstract class AbstractHibernateDatastore extends AbstractDatastore } } + /** + * Creates a new {@link AbstractHibernateDatastore} instance. + */ protected AbstractHibernateDatastore( MappingContext mappingContext, SessionFactory sessionFactory, @@ -163,6 +187,9 @@ public abstract class AbstractHibernateDatastore extends AbstractDatastore this.schemaHandler = new DefaultSchemaHandler(); } + /** + * Creates a new {@link AbstractHibernateDatastore} instance. + */ public AbstractHibernateDatastore( MappingContext mappingContext, SessionFactory sessionFactory, PropertyResolver config) { this(mappingContext, sessionFactory, config, null, ConnectionSource.DEFAULT); @@ -174,6 +201,9 @@ public abstract class AbstractHibernateDatastore extends AbstractDatastore this.mappingContext.setValidatorRegistry(validatorRegistry); } + /** + * Create validator registry. + */ protected ValidatorRegistry createValidatorRegistry(MessageSource messageSource) { return ValidatorRegistries.createValidatorRegistry( mappingContext, @@ -216,6 +246,9 @@ public abstract class AbstractHibernateDatastore extends AbstractDatastore */ public abstract AbstractHibernateDatastore getDatastoreForConnection(String connectionName); + /** + * Resolve tenant ids. + */ public Iterable<Serializable> resolveTenantIds() { if (this.tenantResolver instanceof AllTenantsResolver) { return ((AllTenantsResolver) tenantResolver).resolveTenantIds(); @@ -232,10 +265,16 @@ public abstract class AbstractHibernateDatastore extends AbstractDatastore } } + /** + * Resolve tenant identifier. + */ public Serializable resolveTenantIdentifier() throws TenantNotFoundException { return Tenants.currentId(this); } + /** + * Returns whether auto flush. + */ public boolean isAutoFlush() { return defaultFlushMode == FlushMode.AUTO.level; } @@ -254,18 +293,30 @@ public abstract class AbstractHibernateDatastore extends AbstractDatastore return defaultFlushModeName; } + /** + * Returns whether fail on error. + */ public boolean isFailOnError() { return failOnError; } + /** + * Returns whether osiv read only. + */ public boolean isOsivReadOnly() { return osivReadOnly; } + /** + * Returns whether pass read only to hibernate. + */ public boolean isPassReadOnlyToHibernate() { return passReadOnlyToHibernate; } + /** + * Returns whether cache queries. + */ public boolean isCacheQueries() { return isCacheQueries; } @@ -285,6 +336,7 @@ public abstract class AbstractHibernateDatastore extends AbstractDatastore .getDataSource(); } + /** TODO: Add description. */ // for testing public AbstractHibernateEventListener getEventTriggeringInterceptor() { return eventTriggeringInterceptor; @@ -320,7 +372,7 @@ public abstract class AbstractHibernateDatastore extends AbstractDatastore /** * Execute the given operation with the given flush mode * - * @param flushMode + * @param flushMode the flush mode * @param callable The callable */ public abstract void withFlushMode(FlushMode flushMode, Callable<Boolean> callable); @@ -331,9 +383,13 @@ public abstract class AbstractHibernateDatastore extends AbstractDatastore * @see org.hibernate.FlushMode */ public enum FlushMode { + /** The manual constant. */ MANUAL(0), + /** The commit constant. */ COMMIT(5), + /** The auto constant. */ AUTO(10), + /** The always constant. */ ALWAYS(20); private final int level; @@ -342,6 +398,9 @@ public abstract class AbstractHibernateDatastore extends AbstractDatastore this.level = level; } + /** + * Gets the level. + */ public int getLevel() { return level; } @@ -379,6 +438,9 @@ public abstract class AbstractHibernateDatastore extends AbstractDatastore */ public abstract IHibernateTemplate getHibernateTemplate(int flushMode); + /** + * Gets the hibernate template. + */ public IHibernateTemplate getHibernateTemplate() { return getHibernateTemplate(defaultFlushMode); } @@ -394,6 +456,9 @@ public abstract class AbstractHibernateDatastore extends AbstractDatastore return getHibernateTemplate().execute(multiTenantCallable); } + /** + * With new session. + */ public <T> T withNewSession(final Closure<T> callable) { Closure<T> multiTenantCallable = prepareMultiTenantClosure(callable); return getHibernateTemplate().executeWithNewSession(multiTenantCallable); @@ -435,6 +500,9 @@ public abstract class AbstractHibernateDatastore extends AbstractDatastore .disableFilter(GormProperties.TENANT_IDENTITY); } + /** + * Prepare multi tenant closure. + */ protected <T> Closure<T> prepareMultiTenantClosure(final Closure<T> callable) { final boolean isMultiTenant = getMultiTenancyMode() == MultiTenancySettings.MultiTenancyMode.DISCRIMINATOR; diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/AbstractHibernateSession.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/AbstractHibernateSession.java index cbf16e8198..a21bab5bb6 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/AbstractHibernateSession.java +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/AbstractHibernateSession.java @@ -46,10 +46,16 @@ import org.springframework.transaction.support.TransactionSynchronizationManager public abstract class AbstractHibernateSession extends AbstractAttributeStoringSession implements QueryAliasAwareSession { + /** The datastore. */ protected AbstractHibernateDatastore datastore; + /** The connected. */ protected boolean connected = true; + /** The hibernate template. */ protected IHibernateTemplate hibernateTemplate; + /** + * Creates a new {@link AbstractHibernateSession} instance. + */ protected AbstractHibernateSession( AbstractHibernateDatastore hibernateDatastore, SessionFactory sessionFactory) { datastore = hibernateDatastore; @@ -147,7 +153,7 @@ public abstract class AbstractHibernateSession extends AbstractAttributeStoringS /** * @deprecated persist method needs to be changed to void * @param objects The Objects - * @return + * @return the result */ @Deprecated() public List<Serializable> persist(Iterable objects) { @@ -176,6 +182,7 @@ public abstract class AbstractHibernateSession extends AbstractAttributeStoringS hibernateTemplate.deleteAll(list); } + /** TODO: Add description. */ @SuppressWarnings("unchecked") protected Collection getIterableAsCollection(Iterable objects) { Collection list; diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/ClassBinder.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/ClassBinder.java index 9137bc61a5..79093babaf 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/ClassBinder.java +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/ClassBinder.java @@ -26,6 +26,9 @@ import org.grails.orm.hibernate.cfg.domainbinding.hibernate.GrailsHibernatePersi import org.hibernate.boot.spi.InFlightMetadataCollector; import org.hibernate.mapping.PersistentClass; +/** + * The class binder class. + */ public class ClassBinder { /** diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/ClassPropertiesBinder.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/ClassPropertiesBinder.java index 49e05700bd..0d1d68ecc3 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/ClassPropertiesBinder.java +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/ClassPropertiesBinder.java @@ -39,6 +39,9 @@ public class ClassPropertiesBinder { private final PropertyFromValueCreator propertyFromValueCreator; private final NaturalIdentifierBinder naturalIdentifierBinder; + /** + * Creates a new {@link ClassPropertiesBinder} instance. + */ public ClassPropertiesBinder( GrailsPropertyBinder grailsPropertyBinder, PropertyFromValueCreator propertyFromValueCreator, @@ -48,6 +51,9 @@ public class ClassPropertiesBinder { this.naturalIdentifierBinder = naturalIdentifierBinder; } + /** + * Creates a new {@link ClassPropertiesBinder} instance. + */ public ClassPropertiesBinder( GrailsPropertyBinder grailsPropertyBinder, PropertyFromValueCreator propertyFromValueCreator) { diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/CollectionBinder.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/CollectionBinder.java index 10f64bac0c..8c6e9117b9 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/CollectionBinder.java +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/CollectionBinder.java @@ -74,6 +74,9 @@ public class CollectionBinder { private final UnidirectionalOneToManyBinder unidirectionalOneToManyBinder; private final MapSecondPassBinder mapSecondPassBinder; + /** + * Creates a new {@link CollectionBinder} instance. + */ public CollectionBinder( MetadataBuildingContext metadataBuildingContext, PersistentEntityNamingStrategy namingStrategy, @@ -136,6 +139,9 @@ public class CollectionBinder { simpleValueColumnFetcher); } + /** + * Creates a new {@link CollectionBinder} instance. + */ public CollectionBinder( MetadataBuildingContext metadataBuildingContext, PersistentEntityNamingStrategy namingStrategy, @@ -168,6 +174,7 @@ public class CollectionBinder { * @param owner The owning persistent class * @param mappings The Hibernate mappings instance * @param path The property path + * @return the result */ public Collection bindCollection( HibernateToManyProperty property, diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/CollectionForPropertyConfigBinder.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/CollectionForPropertyConfigBinder.java index cd2f8527ac..b749218d1b 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/CollectionForPropertyConfigBinder.java +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/binder/CollectionForPropertyConfigBinder.java @@ -24,8 +24,14 @@ import org.grails.orm.hibernate.cfg.domainbinding.hibernate.HibernateToManyPrope import org.hibernate.FetchMode; import org.hibernate.mapping.Collection; +/** + * The collection for property config binder class. + */ public class CollectionForPropertyConfigBinder { + /** + * Bind collection for property config. + */ public void bindCollectionForPropertyConfig( @Nonnull Collection collection, @Nonnull HibernateToManyProperty property) { collection.setLazy(!FetchMode.JOIN.equals(property.getFetchMode())); diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/BagCollectionType.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/BagCollectionType.java index d01b3efeae..847c1f3af0 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/BagCollectionType.java +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/BagCollectionType.java @@ -22,8 +22,14 @@ import java.util.Collection; import org.hibernate.boot.spi.MetadataBuildingContext; import org.hibernate.mapping.PersistentClass; +/** + * The bag collection type class. + */ public class BagCollectionType extends CollectionType { + /** + * Creates a new {@link BagCollectionType} instance. + */ public BagCollectionType(MetadataBuildingContext buildingContext) { super(Collection.class, buildingContext); } diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/CollectionHolder.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/CollectionHolder.java index e2c06790c4..66aa1baa74 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/CollectionHolder.java +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/CollectionHolder.java @@ -25,8 +25,14 @@ import java.util.Set; import java.util.SortedSet; import org.hibernate.boot.spi.MetadataBuildingContext; +/** + * Collection holder. + */ public record CollectionHolder(Map<Class<?>, CollectionType> map) { + /** + * Creates a new {@link CollectionHolder} instance. + */ public CollectionHolder(MetadataBuildingContext buildingContext) { this( Map.ofEntries( @@ -37,6 +43,9 @@ public record CollectionHolder(Map<Class<?>, CollectionType> map) { Map.entry(Map.class, new MapCollectionType(buildingContext)))); } + /** + * Get. + */ public CollectionType get(Class<?> collectionClass) { return map.get(collectionClass); } diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/CollectionType.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/CollectionType.java index a2f77bf345..e4c9f00b2c 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/CollectionType.java +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/collectionType/CollectionType.java @@ -31,11 +31,19 @@ import org.hibernate.mapping.PersistentClass; */ public abstract class CollectionType { + /** The clazz. */ protected final Class<?> clazz; + /** The building context. */ protected final MetadataBuildingContext buildingContext; + /** + * Create collection. + */ public abstract Collection createCollection(PersistentClass owner); + /** + * Create. + */ public Collection create(HibernateToManyProperty property, PersistentClass owner) throws MappingException { Collection coll = createCollection(owner); @@ -44,6 +52,9 @@ public abstract class CollectionType { return coll; } + /** + * Creates a new {@link CollectionType} instance. + */ protected CollectionType(Class<?> clazz, MetadataBuildingContext buildingContext) { this.clazz = clazz; this.buildingContext = buildingContext; @@ -54,6 +65,9 @@ public abstract class CollectionType { return clazz.getName(); } + /** + * Gets the type name. + */ public String getTypeName(HibernateToManyProperty property) { return property.getTypeName(); } diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/BidirectionalOneToManyLinker.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/BidirectionalOneToManyLinker.java index fe91d3c077..69100252ed 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/BidirectionalOneToManyLinker.java +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/BidirectionalOneToManyLinker.java @@ -30,10 +30,16 @@ public class BidirectionalOneToManyLinker { private final GrailsPropertyResolver grailsPropertyResolver; + /** + * Creates a new {@link BidirectionalOneToManyLinker} instance. + */ public BidirectionalOneToManyLinker(GrailsPropertyResolver grailsPropertyResolver) { this.grailsPropertyResolver = grailsPropertyResolver; } + /** + * Link. + */ public void link( Collection collection, PersistentClass associatedClass, diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/CollectionKeyColumnUpdater.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/CollectionKeyColumnUpdater.java index 3ee0f7f68a..8318078c08 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/CollectionKeyColumnUpdater.java +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/CollectionKeyColumnUpdater.java @@ -26,6 +26,9 @@ import org.hibernate.mapping.DependantValue; /** Forces columns to be nullable and checks if the key is updateable. */ public class CollectionKeyColumnUpdater { + /** + * Force nullable and check updatable. + */ public void forceNullableAndCheckUpdatable(DependantValue key, HibernateToManyProperty property) { StreamSupport.stream(key.getColumns().spliterator(), false) .filter(Objects::nonNull) diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/CollectionSecondPassBinder.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/CollectionSecondPassBinder.java index c3d8a1645c..4c0e8de03e 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/CollectionSecondPassBinder.java +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/CollectionSecondPassBinder.java @@ -60,6 +60,9 @@ public class CollectionSecondPassBinder { private final CollectionForPropertyConfigBinder collectionForPropertyConfigBinder; private final SimpleValueColumnBinder simpleValueColumnBinder; + /** + * Creates a new {@link CollectionSecondPassBinder} instance. + */ public CollectionSecondPassBinder( ManyToOneBinder manyToOneBinder, PrimaryKeyValueCreator primaryKeyValueCreator, @@ -84,6 +87,9 @@ public class CollectionSecondPassBinder { this.orderByClauseBuilder = new OrderByClauseBuilder(); } + /** + * Bind collection second pass. + */ public void bindCollectionSecondPass( @Nonnull HibernateToManyProperty property, @Nonnull InFlightMetadataCollector mappings, diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/CollectionWithJoinTableBinder.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/CollectionWithJoinTableBinder.java index 3ce0ae7893..8a4d7c7813 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/CollectionWithJoinTableBinder.java +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/secondpass/CollectionWithJoinTableBinder.java @@ -51,6 +51,9 @@ public class CollectionWithJoinTableBinder { private final SimpleValueColumnBinder simpleValueColumnBinder; private final ColumnConfigToColumnBinder columnConfigToColumnBinder; + /** + * Creates a new {@link CollectionWithJoinTableBinder} instance. + */ public CollectionWithJoinTableBinder( MetadataBuildingContext metadataBuildingContext, PersistentEntityNamingStrategy namingStrategy, @@ -72,6 +75,9 @@ public class CollectionWithJoinTableBinder { this.columnConfigToColumnBinder = columnConfigToColumnBinder; } + /** + * Bind collection with join table. + */ public void bindCollectionWithJoinTable( @Nonnull HibernateToManyProperty property, @Nonnull InFlightMetadataCollector mappings, diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/util/BackticksRemover.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/util/BackticksRemover.java index 0d41fbed8c..e701efcb3e 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/util/BackticksRemover.java +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/util/BackticksRemover.java @@ -21,8 +21,12 @@ package org.grails.orm.hibernate.cfg.domainbinding.util; import java.util.Optional; import java.util.function.Function; +/** + * The backticks remover class. + */ public class BackticksRemover implements Function<String, String> { + /** The backtick. */ public static final String BACKTICK = "`"; @Override diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/util/BasicValueIdCreator.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/util/BasicValueIdCreator.java index 276f2a2d02..1db8c5c088 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/util/BasicValueIdCreator.java +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/util/BasicValueIdCreator.java @@ -28,22 +28,34 @@ import org.hibernate.generator.GeneratorCreationContext; import org.hibernate.mapping.BasicValue; import org.hibernate.mapping.Table; +/** + * The basic value id creator class. + */ public class BasicValueIdCreator { private final JdbcEnvironment jdbcEnvironment; private final GrailsSequenceWrapper grailsSequenceWrapper; + /** + * Creates a new {@link BasicValueIdCreator} instance. + */ public BasicValueIdCreator(JdbcEnvironment jdbcEnvironment) { this.jdbcEnvironment = jdbcEnvironment; this.grailsSequenceWrapper = new GrailsSequenceWrapper(); } + /** + * Creates a new {@link BasicValueIdCreator} instance. + */ protected BasicValueIdCreator( JdbcEnvironment jdbcEnvironment, GrailsSequenceWrapper grailsSequenceWrapper) { this.jdbcEnvironment = jdbcEnvironment; this.grailsSequenceWrapper = grailsSequenceWrapper; } + /** + * Gets the basic value id. + */ public BasicValue getBasicValueId( MetadataBuildingContext metadataBuildingContext, Table table, diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/util/CascadeBehavior.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/util/CascadeBehavior.java index b03110c83d..d09ef7b40f 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/util/CascadeBehavior.java +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/util/CascadeBehavior.java @@ -21,6 +21,9 @@ package org.grails.orm.hibernate.cfg.domainbinding.util; import java.util.Arrays; import org.hibernate.MappingException; +/** + * The cascade behavior enum. + */ public enum CascadeBehavior { /** Cascades all operations, including delete-orphan. Maps to "all". */ @@ -66,6 +69,9 @@ public enum CascadeBehavior { return value; } + /** + * Returns whether save update. + */ public boolean isSaveUpdate() { return this == ALL || this == ALL_DELETE_ORPHAN || this == SAVE_UPDATE; } @@ -97,6 +103,9 @@ public enum CascadeBehavior { return cascade.contains(PERSIST.getValue()) && cascade.contains(MERGE.getValue()); } + /** + * From string. + */ public static CascadeBehavior fromString(String value) { return Arrays.stream(CascadeBehavior.values()) .filter( diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/util/CascadeBehaviorFetcher.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/util/CascadeBehaviorFetcher.java index 635b898e81..bac1c25860 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/util/CascadeBehaviorFetcher.java +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/cfg/domainbinding/util/CascadeBehaviorFetcher.java @@ -37,20 +37,32 @@ import org.hibernate.MappingException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +/** + * The cascade behavior fetcher class. + */ public class CascadeBehaviorFetcher { private static final Logger LOG = LoggerFactory.getLogger(CascadeBehaviorFetcher.class); private final LogCascadeMapping logCascadeMapping; + /** + * Creates a new {@link CascadeBehaviorFetcher} instance. + */ public CascadeBehaviorFetcher(LogCascadeMapping logCascadeMapping) { this.logCascadeMapping = logCascadeMapping; } + /** + * Creates a new {@link CascadeBehaviorFetcher} instance. + */ public CascadeBehaviorFetcher() { this(new LogCascadeMapping(LOG)); } + /** + * Gets the cascade behaviour. + */ public String getCascadeBehaviour(Association<?> association) { var cascadeStrategy = getDefinedBehavior((GrailsHibernatePersistentProperty) association) diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/connections/AbstractHibernateConnectionSourceFactory.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/connections/AbstractHibernateConnectionSourceFactory.java index 619dfcd987..f2ab6b65d4 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/connections/AbstractHibernateConnectionSourceFactory.java +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/connections/AbstractHibernateConnectionSourceFactory.java @@ -40,13 +40,14 @@ import org.springframework.core.env.PropertyResolver; public abstract class AbstractHibernateConnectionSourceFactory extends AbstractConnectionSourceFactory<SessionFactory, HibernateConnectionSourceSettings> { + /** The data source connection source factory. */ protected DataSourceConnectionSourceFactory dataSourceConnectionSourceFactory = new CachedDataSourceConnectionSourceFactory(); /** * Sets the factory for creating SQL {@link DataSource} connection sources * - * @param dataSourceConnectionSourceFactory + * @param dataSourceConnectionSourceFactory the data source connection source factory */ public void setDataSourceConnectionSourceFactory( DataSourceConnectionSourceFactory dataSourceConnectionSourceFactory) { diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/event/listener/AbstractHibernateEventListener.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/event/listener/AbstractHibernateEventListener.java index 88b7fc8cf7..b0ba55c52b 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/event/listener/AbstractHibernateEventListener.java +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/event/listener/AbstractHibernateEventListener.java @@ -38,11 +38,17 @@ import org.springframework.context.ApplicationEvent; */ public abstract class AbstractHibernateEventListener extends AbstractPersistenceEventListener { + /** The cached should trigger. */ protected final transient ConcurrentMap<SoftKey<Class<?>>, Boolean> cachedShouldTrigger = new ConcurrentHashMap<SoftKey<Class<?>>, Boolean>(); + /** The fail on error. */ protected final boolean failOnError; + /** The fail on error packages. */ protected final List<?> failOnErrorPackages; + /** + * Creates a new {@link AbstractHibernateEventListener} instance. + */ protected AbstractHibernateEventListener(AbstractHibernateDatastore datastore) { super(datastore); HibernateConnectionSourceSettings settings = diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/query/AliasMapEntryFunction.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/query/AliasMapEntryFunction.java index 38d3d0d25c..0f49ee4b9b 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/query/AliasMapEntryFunction.java +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/query/AliasMapEntryFunction.java @@ -22,6 +22,7 @@ import java.util.Map; import java.util.function.Function; import org.grails.datastore.gorm.query.criteria.DetachedAssociationCriteria; +/** TODO: Add description. */ @SuppressWarnings({"unchecked", "rawtypes"}) public class AliasMapEntryFunction implements Function< diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/support/ClosureEventListener.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/support/ClosureEventListener.java index 5e9b3bb452..98880db6e3 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/support/ClosureEventListener.java +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/support/ClosureEventListener.java @@ -77,6 +77,7 @@ public class ClosureEventListener CallbackRegistryConsumer { private static final long serialVersionUID = 1; + /** The log. */ protected static final Logger LOG = LoggerFactory.getLogger(ClosureEventListener.class); private final EventTriggerCaller saveOrUpdateCaller; @@ -98,6 +99,9 @@ public class ClosureEventListener private Field actionQueueUpdatesField; private Field entityUpdateActionStateField; + /** + * Creates a new {@link ClosureEventListener} instance. + */ public ClosureEventListener( PersistentEntity persistentEntity, boolean failOnError, List failOnErrorPackages) { this.persistentEntity = persistentEntity; @@ -275,6 +279,9 @@ public class ClosureEventListener }); } + /** + * On pre insert. + */ public boolean onPreInsert(final PreInsertEvent event) { return doWithManualSession( event, @@ -297,10 +304,16 @@ public class ClosureEventListener }); } + /** + * On validate. + */ public void onValidate(ValidationEvent event) { beforeValidateEventListener.call(event.getEntityObject(), event.getValidatedFields()); } + /** + * Do validate. + */ protected boolean doValidate(Object entity) { boolean evict = false; GormValidateable validateable = (GormValidateable) entity; diff --git a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/support/ClosureEventTriggeringInterceptor.java b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/support/ClosureEventTriggeringInterceptor.java index 2aa5d80349..915945abab 100644 --- a/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/support/ClosureEventTriggeringInterceptor.java +++ b/grails-data-hibernate7/core/src/main/groovy/org/grails/orm/hibernate/support/ClosureEventTriggeringInterceptor.java @@ -131,18 +131,26 @@ public class ClosureEventTriggeringInterceptor extends AbstractClosureEventTrigg @Deprecated public static final String AFTER_LOAD_EVENT = AbstractPersistenceEvent.AFTER_LOAD_EVENT; + /** The datastore. */ protected AbstractHibernateDatastore datastore; + /** The event publisher. */ protected ConfigurableApplicationEventPublisher eventPublisher; private MappingContext mappingContext; private ProxyHandler proxyHandler; + /** + * Sets the datastore. + */ public void setDatastore(AbstractHibernateDatastore datastore) { this.datastore = datastore; this.mappingContext = datastore.getMappingContext(); this.proxyHandler = mappingContext.getProxyHandler(); } + /** + * Sets the event publisher. + */ public void setEventPublisher(ConfigurableApplicationEventPublisher eventPublisher) { this.eventPublisher = eventPublisher; }
