From 3de7cbc2863e37ca3ba811f63be0f94a9f0ab523 Mon Sep 17 00:00:00 2001 From: Steve Ebersole Date: Sat, 21 Oct 2023 16:19:03 -0500 Subject: [PATCH] General refactoring --- .../orm/internal/GlobalRegistrationsImpl.java | 16 ++++++++++------ .../CollectionTypeRegistration.java | 2 +- .../CompositeUserTypeRegistration.java | 2 +- .../EmbeddableInstantiatorRegistration.java | 2 +- .../orm/spi/EntityListenerRegistration.java | 5 +++++ .../{internal => spi}/FilterDefRegistration.java | 2 +- .../GenericGeneratorRegistration.java | 2 +- .../models/orm/spi/GlobalRegistrations.java | 7 ------- .../hibernate/models/orm/spi/ProcessResult.java | 6 ------ .../SequenceGeneratorRegistration.java | 2 +- .../TableGeneratorRegistration.java | 2 +- .../models/orm/process/SimpleProcessorTests.java | 2 +- .../models/orm/xml/XmlProcessingSmokeTests.java | 2 +- todos.adoc | 3 ++- 14 files changed, 26 insertions(+), 29 deletions(-) rename hibernate-models-orm/src/main/java/org/hibernate/models/orm/{internal => spi}/CollectionTypeRegistration.java (95%) rename hibernate-models-orm/src/main/java/org/hibernate/models/orm/{internal => spi}/CompositeUserTypeRegistration.java (94%) rename hibernate-models-orm/src/main/java/org/hibernate/models/orm/{internal => spi}/EmbeddableInstantiatorRegistration.java (94%) rename hibernate-models-orm/src/main/java/org/hibernate/models/orm/{internal => spi}/FilterDefRegistration.java (95%) rename hibernate-models-orm/src/main/java/org/hibernate/models/orm/{internal => spi}/GenericGeneratorRegistration.java (95%) rename hibernate-models-orm/src/main/java/org/hibernate/models/orm/{internal => spi}/SequenceGeneratorRegistration.java (95%) rename hibernate-models-orm/src/main/java/org/hibernate/models/orm/{internal => spi}/TableGeneratorRegistration.java (95%) diff --git a/hibernate-models-orm/src/main/java/org/hibernate/models/orm/internal/GlobalRegistrationsImpl.java b/hibernate-models-orm/src/main/java/org/hibernate/models/orm/internal/GlobalRegistrationsImpl.java index e68a018..a457bb5 100644 --- a/hibernate-models-orm/src/main/java/org/hibernate/models/orm/internal/GlobalRegistrationsImpl.java +++ b/hibernate-models-orm/src/main/java/org/hibernate/models/orm/internal/GlobalRegistrationsImpl.java @@ -35,14 +35,20 @@ import org.hibernate.internal.util.collections.CollectionHelper; import org.hibernate.metamodel.CollectionClassification; import org.hibernate.models.internal.StringHelper; +import org.hibernate.models.orm.spi.CollectionTypeRegistration; +import org.hibernate.models.orm.spi.CompositeUserTypeRegistration; import org.hibernate.models.orm.spi.ConversionRegistration; +import org.hibernate.models.orm.spi.EmbeddableInstantiatorRegistration; import org.hibernate.models.orm.spi.EntityListenerRegistration; +import org.hibernate.models.orm.spi.FilterDefRegistration; +import org.hibernate.models.orm.spi.GenericGeneratorRegistration; import org.hibernate.models.orm.spi.GlobalRegistrations; import org.hibernate.models.orm.spi.JavaTypeRegistration; import org.hibernate.models.orm.spi.JdbcTypeRegistration; +import org.hibernate.models.orm.spi.SequenceGeneratorRegistration; +import org.hibernate.models.orm.spi.TableGeneratorRegistration; import org.hibernate.models.orm.spi.UserTypeRegistration; import org.hibernate.models.source.internal.dynamic.DynamicAnnotationUsage; -import org.hibernate.models.source.spi.AnnotationDescriptorRegistry; import org.hibernate.models.source.spi.AnnotationTarget; import org.hibernate.models.source.spi.AnnotationUsage; import org.hibernate.models.source.spi.ClassDetails; @@ -68,7 +74,6 @@ */ public class GlobalRegistrationsImpl implements GlobalRegistrations { private final ClassDetailsRegistry classDetailsRegistry; - private final AnnotationDescriptorRegistry annotationDescriptorRegistry; private List entityListenerRegistrations; private List converterRegistrations; @@ -78,19 +83,18 @@ public class GlobalRegistrationsImpl implements GlobalRegistrations { private List compositeUserTypeRegistrations; private List collectionTypeRegistrations; private List embeddableInstantiatorRegistrations; - private Map filterDefRegistrations; + private Map filterDefRegistrations; private Map sequenceGeneratorRegistrations; private Map tableGeneratorRegistrations; private Map genericGeneratorRegistrations; public GlobalRegistrationsImpl(SourceModelBuildingContext sourceModelBuildingContext) { - this( sourceModelBuildingContext.getClassDetailsRegistry(), sourceModelBuildingContext.getAnnotationDescriptorRegistry() ); + this( sourceModelBuildingContext.getClassDetailsRegistry() ); } - public GlobalRegistrationsImpl(ClassDetailsRegistry classDetailsRegistry, AnnotationDescriptorRegistry annotationDescriptorRegistry) { + public GlobalRegistrationsImpl(ClassDetailsRegistry classDetailsRegistry) { this.classDetailsRegistry = classDetailsRegistry; - this.annotationDescriptorRegistry = annotationDescriptorRegistry; } @Override diff --git a/hibernate-models-orm/src/main/java/org/hibernate/models/orm/internal/CollectionTypeRegistration.java b/hibernate-models-orm/src/main/java/org/hibernate/models/orm/spi/CollectionTypeRegistration.java similarity index 95% rename from hibernate-models-orm/src/main/java/org/hibernate/models/orm/internal/CollectionTypeRegistration.java rename to hibernate-models-orm/src/main/java/org/hibernate/models/orm/spi/CollectionTypeRegistration.java index 9bed8a2..7c2b5ad 100644 --- a/hibernate-models-orm/src/main/java/org/hibernate/models/orm/internal/CollectionTypeRegistration.java +++ b/hibernate-models-orm/src/main/java/org/hibernate/models/orm/spi/CollectionTypeRegistration.java @@ -4,7 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm.internal; +package org.hibernate.models.orm.spi; import java.util.Map; diff --git a/hibernate-models-orm/src/main/java/org/hibernate/models/orm/internal/CompositeUserTypeRegistration.java b/hibernate-models-orm/src/main/java/org/hibernate/models/orm/spi/CompositeUserTypeRegistration.java similarity index 94% rename from hibernate-models-orm/src/main/java/org/hibernate/models/orm/internal/CompositeUserTypeRegistration.java rename to hibernate-models-orm/src/main/java/org/hibernate/models/orm/spi/CompositeUserTypeRegistration.java index 16dfcc9..c13ec64 100644 --- a/hibernate-models-orm/src/main/java/org/hibernate/models/orm/internal/CompositeUserTypeRegistration.java +++ b/hibernate-models-orm/src/main/java/org/hibernate/models/orm/spi/CompositeUserTypeRegistration.java @@ -4,7 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm.internal; +package org.hibernate.models.orm.spi; import org.hibernate.models.source.spi.ClassDetails; diff --git a/hibernate-models-orm/src/main/java/org/hibernate/models/orm/internal/EmbeddableInstantiatorRegistration.java b/hibernate-models-orm/src/main/java/org/hibernate/models/orm/spi/EmbeddableInstantiatorRegistration.java similarity index 94% rename from hibernate-models-orm/src/main/java/org/hibernate/models/orm/internal/EmbeddableInstantiatorRegistration.java rename to hibernate-models-orm/src/main/java/org/hibernate/models/orm/spi/EmbeddableInstantiatorRegistration.java index b7386de..5f97b7f 100644 --- a/hibernate-models-orm/src/main/java/org/hibernate/models/orm/internal/EmbeddableInstantiatorRegistration.java +++ b/hibernate-models-orm/src/main/java/org/hibernate/models/orm/spi/EmbeddableInstantiatorRegistration.java @@ -4,7 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm.internal; +package org.hibernate.models.orm.spi; import org.hibernate.models.source.spi.ClassDetails; diff --git a/hibernate-models-orm/src/main/java/org/hibernate/models/orm/spi/EntityListenerRegistration.java b/hibernate-models-orm/src/main/java/org/hibernate/models/orm/spi/EntityListenerRegistration.java index 46a8093..afff5b7 100644 --- a/hibernate-models-orm/src/main/java/org/hibernate/models/orm/spi/EntityListenerRegistration.java +++ b/hibernate-models-orm/src/main/java/org/hibernate/models/orm/spi/EntityListenerRegistration.java @@ -14,6 +14,11 @@ import org.hibernate.models.source.spi.MethodDetails; /** + * Represents an entity listener defined in XML + * ({@code entity-mappings/persistence-unit-metadata/persistence-unit-defaults/entity-listeners}). + * + * @see jakarta.persistence.EntityListeners + * @author Steve Ebersole */ public class EntityListenerRegistration { diff --git a/hibernate-models-orm/src/main/java/org/hibernate/models/orm/internal/FilterDefRegistration.java b/hibernate-models-orm/src/main/java/org/hibernate/models/orm/spi/FilterDefRegistration.java similarity index 95% rename from hibernate-models-orm/src/main/java/org/hibernate/models/orm/internal/FilterDefRegistration.java rename to hibernate-models-orm/src/main/java/org/hibernate/models/orm/spi/FilterDefRegistration.java index 06aa818..8d33ca1 100644 --- a/hibernate-models-orm/src/main/java/org/hibernate/models/orm/internal/FilterDefRegistration.java +++ b/hibernate-models-orm/src/main/java/org/hibernate/models/orm/spi/FilterDefRegistration.java @@ -4,7 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm.internal; +package org.hibernate.models.orm.spi; import java.util.Map; diff --git a/hibernate-models-orm/src/main/java/org/hibernate/models/orm/internal/GenericGeneratorRegistration.java b/hibernate-models-orm/src/main/java/org/hibernate/models/orm/spi/GenericGeneratorRegistration.java similarity index 95% rename from hibernate-models-orm/src/main/java/org/hibernate/models/orm/internal/GenericGeneratorRegistration.java rename to hibernate-models-orm/src/main/java/org/hibernate/models/orm/spi/GenericGeneratorRegistration.java index 483c985..d8d029b 100644 --- a/hibernate-models-orm/src/main/java/org/hibernate/models/orm/internal/GenericGeneratorRegistration.java +++ b/hibernate-models-orm/src/main/java/org/hibernate/models/orm/spi/GenericGeneratorRegistration.java @@ -4,7 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm.internal; +package org.hibernate.models.orm.spi; import org.hibernate.annotations.GenericGenerator; import org.hibernate.models.source.spi.AnnotationUsage; diff --git a/hibernate-models-orm/src/main/java/org/hibernate/models/orm/spi/GlobalRegistrations.java b/hibernate-models-orm/src/main/java/org/hibernate/models/orm/spi/GlobalRegistrations.java index d8fb1bc..a5be042 100644 --- a/hibernate-models-orm/src/main/java/org/hibernate/models/orm/spi/GlobalRegistrations.java +++ b/hibernate-models-orm/src/main/java/org/hibernate/models/orm/spi/GlobalRegistrations.java @@ -9,13 +9,6 @@ import java.util.List; import java.util.Map; -import org.hibernate.models.orm.internal.CollectionTypeRegistration; -import org.hibernate.models.orm.internal.CompositeUserTypeRegistration; -import org.hibernate.models.orm.internal.EmbeddableInstantiatorRegistration; -import org.hibernate.models.orm.internal.FilterDefRegistration; -import org.hibernate.models.orm.internal.GenericGeneratorRegistration; -import org.hibernate.models.orm.internal.SequenceGeneratorRegistration; -import org.hibernate.models.orm.internal.TableGeneratorRegistration; /** * @author Steve Ebersole diff --git a/hibernate-models-orm/src/main/java/org/hibernate/models/orm/spi/ProcessResult.java b/hibernate-models-orm/src/main/java/org/hibernate/models/orm/spi/ProcessResult.java index f0505d1..9688069 100644 --- a/hibernate-models-orm/src/main/java/org/hibernate/models/orm/spi/ProcessResult.java +++ b/hibernate-models-orm/src/main/java/org/hibernate/models/orm/spi/ProcessResult.java @@ -6,15 +6,9 @@ */ package org.hibernate.models.orm.spi; -import java.util.List; import java.util.Map; import java.util.Set; -import org.hibernate.models.orm.internal.CollectionTypeRegistration; -import org.hibernate.models.orm.internal.CompositeUserTypeRegistration; -import org.hibernate.models.orm.internal.EmbeddableInstantiatorRegistration; -import org.hibernate.models.orm.internal.FilterDefRegistration; -import org.hibernate.models.orm.internal.NamedQueryRegistration; import org.hibernate.models.source.spi.ClassDetails; /** diff --git a/hibernate-models-orm/src/main/java/org/hibernate/models/orm/internal/SequenceGeneratorRegistration.java b/hibernate-models-orm/src/main/java/org/hibernate/models/orm/spi/SequenceGeneratorRegistration.java similarity index 95% rename from hibernate-models-orm/src/main/java/org/hibernate/models/orm/internal/SequenceGeneratorRegistration.java rename to hibernate-models-orm/src/main/java/org/hibernate/models/orm/spi/SequenceGeneratorRegistration.java index d81257f..c57094a 100644 --- a/hibernate-models-orm/src/main/java/org/hibernate/models/orm/internal/SequenceGeneratorRegistration.java +++ b/hibernate-models-orm/src/main/java/org/hibernate/models/orm/spi/SequenceGeneratorRegistration.java @@ -4,7 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm.internal; +package org.hibernate.models.orm.spi; import org.hibernate.models.source.spi.AnnotationUsage; diff --git a/hibernate-models-orm/src/main/java/org/hibernate/models/orm/internal/TableGeneratorRegistration.java b/hibernate-models-orm/src/main/java/org/hibernate/models/orm/spi/TableGeneratorRegistration.java similarity index 95% rename from hibernate-models-orm/src/main/java/org/hibernate/models/orm/internal/TableGeneratorRegistration.java rename to hibernate-models-orm/src/main/java/org/hibernate/models/orm/spi/TableGeneratorRegistration.java index eede186..5763aff 100644 --- a/hibernate-models-orm/src/main/java/org/hibernate/models/orm/internal/TableGeneratorRegistration.java +++ b/hibernate-models-orm/src/main/java/org/hibernate/models/orm/spi/TableGeneratorRegistration.java @@ -4,7 +4,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm.internal; +package org.hibernate.models.orm.spi; import org.hibernate.models.source.spi.AnnotationUsage; diff --git a/hibernate-models-orm/src/test/java/org/hibernate/models/orm/process/SimpleProcessorTests.java b/hibernate-models-orm/src/test/java/org/hibernate/models/orm/process/SimpleProcessorTests.java index 720f43a..f497a50 100644 --- a/hibernate-models-orm/src/test/java/org/hibernate/models/orm/process/SimpleProcessorTests.java +++ b/hibernate-models-orm/src/test/java/org/hibernate/models/orm/process/SimpleProcessorTests.java @@ -9,7 +9,7 @@ import java.util.Iterator; import java.util.Map; -import org.hibernate.models.orm.internal.FilterDefRegistration; +import org.hibernate.models.orm.spi.FilterDefRegistration; import org.hibernate.models.orm.internal.ManagedResourcesImpl; import org.hibernate.models.orm.spi.EntityHierarchy; import org.hibernate.models.orm.spi.EntityTypeMetadata; diff --git a/hibernate-models-orm/src/test/java/org/hibernate/models/orm/xml/XmlProcessingSmokeTests.java b/hibernate-models-orm/src/test/java/org/hibernate/models/orm/xml/XmlProcessingSmokeTests.java index 01a739f..5817408 100644 --- a/hibernate-models-orm/src/test/java/org/hibernate/models/orm/xml/XmlProcessingSmokeTests.java +++ b/hibernate-models-orm/src/test/java/org/hibernate/models/orm/xml/XmlProcessingSmokeTests.java @@ -10,7 +10,7 @@ import java.util.Map; import org.hibernate.boot.jaxb.mapping.JaxbEntityMappings; -import org.hibernate.models.orm.internal.FilterDefRegistration; +import org.hibernate.models.orm.spi.FilterDefRegistration; import org.hibernate.models.orm.internal.GlobalRegistrationsImpl; import org.hibernate.models.orm.internal.ProcessResultCollector; import org.hibernate.models.orm.xml.internal.XmlDocumentImpl; diff --git a/todos.adoc b/todos.adoc index 8f6e7d9..a734f83 100644 --- a/todos.adoc +++ b/todos.adoc @@ -4,4 +4,5 @@ * Model `AnnotationAttributeValue`? Dropped that here from earlier iterations - its only real benefit was to help model the idea of implicit (unspecified) values. But since the quorum is to simply follow JLS, "this is the way". It simplifies the code quite a bit and imo only makes sense if we want to be able to model that implicitness aspect * Support ``? This comes from hbm.xml world, but not seeing its usefulness. * Support for dynamic embeddables in XSD -* Allow mapped-superclass in dynamic models? XSD change \ No newline at end of file +* Allow mapped-superclass in dynamic models? XSD change +* Update the mapping.xsd to account for new @GenericGenerator definition \ No newline at end of file