From 07d594dc7c1fcec1bf94135dbe81236e43408fe6 Mon Sep 17 00:00:00 2001 From: Steve Ebersole Date: Mon, 17 Mar 2025 09:44:36 -0500 Subject: [PATCH 1/2] Share tests across modules --- buildSrc/src/main/groovy/code-quality.gradle | 76 +++++++ buildSrc/src/main/groovy/java-module.gradle | 119 ---------- .../main/groovy/published-java-module.gradle | 31 +++ .../src/main/groovy/shared-testing.gradle | 40 ++++ buildSrc/src/main/groovy/testing.gradle | 39 ++++ hibernate-models-jandex/build.gradle | 3 +- .../jandex/internal/JandexBuilders.java | 2 +- .../hibernate/models/MixedSourcesTests.java | 105 --------- .../models/SourceModelTestHelper.java | 119 ---------- .../JandexTestingModelContextFactoryImpl.java | 54 +++++ ...ls.testing.intg.TestingModelContextFactory | 1 + hibernate-models-testing/build.gradle | 11 - .../hibernate/models/pkg/package-info.java | 9 - hibernate-models/build.gradle | 31 ++- .../models/SourceModelTestHelper.java | 57 ----- .../hibernate/models/testing/TestHelper.java | 77 +++++++ .../annotations/CustomAnnotation.java | 2 +- .../annotations/CustomAnnotations.java | 2 +- .../annotations/CustomMetaAnnotation.java | 2 +- .../testing}/annotations/EverythingBagel.java | 2 +- .../models/testing}/annotations/Nested.java | 2 +- .../models/testing}/annotations/Status.java | 2 +- .../annotations/pkg/PackageAnnotation.java | 14 +- .../testing/annotations/pkg/package-info.java | 5 + .../models/testing/domain}/SimpleEntity.java | 4 +- .../intg/TestingModelContextFactory.java | 18 ++ .../models/testing/orm/AttributeMarker.java | 42 ++++ .../models/testing}/orm/BasicAnnotation.java | 2 +- .../testing}/orm/CacheableAnnotation.java | 2 +- .../orm/CheckConstraintAnnotation.java | 2 +- .../orm/CollectionTableAnnotation.java | 146 ++++++++++++ .../models/testing}/orm/ColumnAnnotation.java | 4 +- .../models/testing}/orm/ColumnDetails.java | 2 +- .../testing}/orm/CommonTableDetails.java | 5 +- .../testing}/orm/DatabaseObjectDetails.java | 2 +- .../orm/ElementCollectionJpaAnnotation.java | 69 ++++++ .../models/testing}/orm/EntityAnnotation.java | 2 +- .../testing}/orm/ForeignKeyAnnotation.java | 2 +- .../models/testing}/orm/IdAnnotation.java | 2 +- .../models/testing}/orm/IndexAnnotation.java | 2 +- .../testing/orm/JoinColumnAnnotation.java | 208 ++++++++++++++++++ .../testing/orm/JoinColumnsAnnotation.java | 62 ++++++ .../models/testing}/orm/JpaAnnotations.java | 17 +- .../hibernate/models/testing}/orm/Named.java | 2 +- .../orm/NamedNativeQueriesAnnotation.java | 4 +- .../orm/NamedNativeQueryAnnotation.java | 4 +- .../testing}/orm/NamedQueriesAnnotation.java | 4 +- .../testing}/orm/NamedQueryAnnotation.java | 4 +- .../testing}/orm/OrmAnnotationHelper.java | 2 +- .../PrimaryKeyJoinColumnJpaAnnotation.java | 2 +- .../PrimaryKeyJoinColumnsJpaAnnotation.java | 2 +- .../testing}/orm/RepeatableContainer.java | 2 +- .../orm/SecondaryTableAnnotation.java | 4 +- .../orm/SecondaryTablesAnnotation.java | 4 +- .../orm/SequenceGeneratorAnnotation.java | 2 +- .../orm/SequenceGeneratorsAnnotation.java | 4 +- .../models/testing}/orm/TableAnnotation.java | 4 +- .../testing}/orm/TransientAnnotation.java | 2 +- .../orm/UniqueConstraintAnnotation.java | 2 +- .../MultiDimensionalArrayTypeTests.java | 7 +- .../models/testing/tests}/PackageTests.java | 17 +- .../testing/tests}/RenderingSmokeTest.java | 23 +- .../tests}/SimpleSerializationTests.java | 77 ++++--- .../annotations/AnnotationCycleTests.java | 20 +- .../AnnotationReplacementTests.java | 28 +-- .../annotations/AnnotationUsageTests.java | 146 +++--------- .../annotations/AttributeAccessTests.java | 11 +- .../tests}/annotations/MapKeyTest.java | 24 +- .../annotations/NestedAnnotationTests.java | 23 +- .../annotations/RepeatableUsageTests.java | 23 +- .../annotations/SelfReferenceTests.java | 20 +- .../SelfReferencingAnnotation.java | 2 +- .../annotations/TargetSafeCastingTests.java | 23 +- .../target/AnnotationTargetTests.java | 66 +----- .../target/ClassGeneratorEntity.java | 2 +- .../target/FromContainersTests.java | 62 +----- .../target/GeneratorAnnotation.java | 2 +- .../target/MemberGeneratorEntity.java | 2 +- .../annotations/target/NoGeneratorEntity.java | 2 +- .../target/WalkContainerTests.java | 59 ++--- .../annotations/target/package-info.java | 2 +- .../target/sub/SubNoGeneratorEntity.java | 2 +- .../models/testing/tests}/classes/AnEnum.java | 2 +- .../testing/tests}/classes/BranchClass.java | 2 +- .../testing/tests}/classes/ClassMarker.java | 2 +- .../tests}/classes/ClassRegistryTests.java | 18 +- .../testing/tests}/classes/Composable.java | 2 +- .../testing/tests}/classes/EnumTests.java | 23 +- .../testing/tests}/classes/GenericsTests.java | 55 +---- .../tests}/classes/InheritanceTests.java | 108 +-------- .../models/testing/tests}/classes/Intf.java | 2 +- .../testing/tests}/classes/LeafClass.java | 2 +- .../testing/tests}/classes/MemberMarker.java | 2 +- .../tests}/classes/PrimitiveTypeTests.java | 22 +- .../testing/tests}/classes/RootClass.java | 2 +- .../tests}/classes/SubclassableMarker.java | 2 +- .../testing/tests}/classes/TrunkClass.java | 2 +- .../dynamic/DynamicAnnotationTests.java | 16 +- .../dynamic/SimpleDynamicModelTests.java | 12 +- .../testing/tests}/dynamic/package-info.java | 2 +- .../tests}/generics/BaselineTests.java | 23 +- .../tests}/generics/CollectionTests.java | 94 +------- .../InheritanceTypeVariableTests.java | 25 +-- .../generics/NestedInheritanceTest.java | 27 +-- .../NestedRecursiveInheritanceTest.java | 30 +-- .../generics/RecursiveTypeVariableTests.java | 23 +- .../generics/SimpleTypeVariableTests.java | 23 +- .../testing/tests}/members/ArrayTests.java | 23 +- .../tests}/members/FieldDetailsTests.java | 23 +- .../tests}/members/MethodDetailsTests.java | 23 +- .../tests}/members/PluralMemberTests.java | 23 +- .../testing/tests}/members/RecordTests.java | 23 +- .../tests}/members/UnboundWildcardTests.java | 23 +- .../SimpleSerializationTests.java | 10 +- .../tests}/xml/MetadataCompleteTests.java | 13 +- .../testing/tests}/xml/SimpleEntity.java | 2 +- .../models/testing/util}/MutableInteger.java | 2 +- .../testing/util}/SerializationHelper.java | 2 +- settings.gradle | 2 +- 119 files changed, 1280 insertions(+), 1499 deletions(-) create mode 100644 buildSrc/src/main/groovy/code-quality.gradle create mode 100644 buildSrc/src/main/groovy/shared-testing.gradle create mode 100644 buildSrc/src/main/groovy/testing.gradle delete mode 100644 hibernate-models-jandex/src/test/java/org/hibernate/models/MixedSourcesTests.java delete mode 100644 hibernate-models-jandex/src/test/java/org/hibernate/models/SourceModelTestHelper.java create mode 100644 hibernate-models-jandex/src/test/java/org/hibernate/models/testing/shared/intg/JandexTestingModelContextFactoryImpl.java create mode 100644 hibernate-models-jandex/src/test/resources/META-INF/services/org.hibernate.models.testing.intg.TestingModelContextFactory delete mode 100644 hibernate-models-testing/build.gradle delete mode 100644 hibernate-models-testing/src/main/java/org/hibernate/models/pkg/package-info.java delete mode 100644 hibernate-models/src/test/java/org/hibernate/models/SourceModelTestHelper.java create mode 100644 hibernate-models/src/test/java/org/hibernate/models/testing/TestHelper.java rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing}/annotations/CustomAnnotation.java (91%) rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing}/annotations/CustomAnnotations.java (90%) rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing}/annotations/CustomMetaAnnotation.java (89%) rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing}/annotations/EverythingBagel.java (93%) rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing}/annotations/Nested.java (88%) rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing}/annotations/Status.java (75%) rename hibernate-models-testing/src/main/java/org/hibernate/models/pkg/CustomAnnotation.java => hibernate-models/src/test/java/org/hibernate/models/testing/annotations/pkg/PackageAnnotation.java (51%) create mode 100644 hibernate-models/src/test/java/org/hibernate/models/testing/annotations/pkg/package-info.java rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/domain}/SimpleEntity.java (94%) create mode 100644 hibernate-models/src/test/java/org/hibernate/models/testing/intg/TestingModelContextFactory.java create mode 100644 hibernate-models/src/test/java/org/hibernate/models/testing/orm/AttributeMarker.java rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing}/orm/BasicAnnotation.java (96%) rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing}/orm/CacheableAnnotation.java (96%) rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing}/orm/CheckConstraintAnnotation.java (97%) create mode 100644 hibernate-models/src/test/java/org/hibernate/models/testing/orm/CollectionTableAnnotation.java rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing}/orm/ColumnAnnotation.java (97%) rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing}/orm/ColumnDetails.java (96%) rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing}/orm/CommonTableDetails.java (86%) rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing}/orm/DatabaseObjectDetails.java (94%) create mode 100644 hibernate-models/src/test/java/org/hibernate/models/testing/orm/ElementCollectionJpaAnnotation.java rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing}/orm/EntityAnnotation.java (95%) rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing}/orm/ForeignKeyAnnotation.java (97%) rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing}/orm/IdAnnotation.java (94%) rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing}/orm/IndexAnnotation.java (97%) create mode 100644 hibernate-models/src/test/java/org/hibernate/models/testing/orm/JoinColumnAnnotation.java create mode 100644 hibernate-models/src/test/java/org/hibernate/models/testing/orm/JoinColumnsAnnotation.java rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing}/orm/JpaAnnotations.java (94%) rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing}/orm/Named.java (82%) rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing}/orm/NamedNativeQueriesAnnotation.java (91%) rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing}/orm/NamedNativeQueryAnnotation.java (96%) rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing}/orm/NamedQueriesAnnotation.java (91%) rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing}/orm/NamedQueryAnnotation.java (94%) rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing}/orm/OrmAnnotationHelper.java (96%) rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing}/orm/PrimaryKeyJoinColumnJpaAnnotation.java (98%) rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing}/orm/PrimaryKeyJoinColumnsJpaAnnotation.java (98%) rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing}/orm/RepeatableContainer.java (87%) rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing}/orm/SecondaryTableAnnotation.java (97%) rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing}/orm/SecondaryTablesAnnotation.java (91%) rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing}/orm/SequenceGeneratorAnnotation.java (98%) rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing}/orm/SequenceGeneratorsAnnotation.java (91%) rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing}/orm/TableAnnotation.java (96%) rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing}/orm/TransientAnnotation.java (94%) rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing}/orm/UniqueConstraintAnnotation.java (97%) rename hibernate-models/src/test/java/org/hibernate/models/{ => testing/tests}/MultiDimensionalArrayTypeTests.java (93%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/PackageTests.java (58%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/RenderingSmokeTest.java (77%) rename hibernate-models/src/test/java/org/hibernate/models/{ => testing/tests}/SimpleSerializationTests.java (52%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/annotations/AnnotationCycleTests.java (75%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/annotations/AnnotationReplacementTests.java (72%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/annotations/AnnotationUsageTests.java (74%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/annotations/AttributeAccessTests.java (81%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/annotations/MapKeyTest.java (79%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/annotations/NestedAnnotationTests.java (78%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/annotations/RepeatableUsageTests.java (90%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/annotations/SelfReferenceTests.java (69%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/annotations/SelfReferencingAnnotation.java (88%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/annotations/TargetSafeCastingTests.java (86%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/annotations/target/AnnotationTargetTests.java (76%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/annotations/target/ClassGeneratorEntity.java (79%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/annotations/target/FromContainersTests.java (73%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/annotations/target/GeneratorAnnotation.java (90%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/annotations/target/MemberGeneratorEntity.java (79%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/annotations/target/NoGeneratorEntity.java (80%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/annotations/target/WalkContainerTests.java (57%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/annotations/target/package-info.java (74%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/annotations/target/sub/SubNoGeneratorEntity.java (78%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/classes/AnEnum.java (75%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/classes/BranchClass.java (86%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/classes/ClassMarker.java (89%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/classes/ClassRegistryTests.java (80%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/classes/Composable.java (89%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/classes/EnumTests.java (62%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/classes/GenericsTests.java (80%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/classes/InheritanceTests.java (74%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/classes/Intf.java (74%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/classes/LeafClass.java (85%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/classes/MemberMarker.java (89%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/classes/PrimitiveTypeTests.java (73%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/classes/RootClass.java (85%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/classes/SubclassableMarker.java (90%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/classes/TrunkClass.java (85%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/dynamic/DynamicAnnotationTests.java (81%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/dynamic/SimpleDynamicModelTests.java (95%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/dynamic/package-info.java (86%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/generics/BaselineTests.java (76%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/generics/CollectionTests.java (90%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/generics/InheritanceTypeVariableTests.java (86%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/generics/NestedInheritanceTest.java (84%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/generics/NestedRecursiveInheritanceTest.java (84%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/generics/RecursiveTypeVariableTests.java (69%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/generics/SimpleTypeVariableTests.java (83%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/members/ArrayTests.java (92%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/members/FieldDetailsTests.java (93%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/members/MethodDetailsTests.java (94%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/members/PluralMemberTests.java (86%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/members/RecordTests.java (74%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/members/UnboundWildcardTests.java (87%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/serialization/SimpleSerializationTests.java (95%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/xml/MetadataCompleteTests.java (88%) rename {hibernate-models-jandex/src/test/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/tests}/xml/SimpleEntity.java (93%) rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/util}/MutableInteger.java (96%) rename {hibernate-models-testing/src/main/java/org/hibernate/models => hibernate-models/src/test/java/org/hibernate/models/testing/util}/SerializationHelper.java (99%) diff --git a/buildSrc/src/main/groovy/code-quality.gradle b/buildSrc/src/main/groovy/code-quality.gradle new file mode 100644 index 0000000..efb329c --- /dev/null +++ b/buildSrc/src/main/groovy/code-quality.gradle @@ -0,0 +1,76 @@ +plugins { + id "base-information" + id "java-library" + + id "com.diffplug.spotless" +} + +// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// Spotless +// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +spotless { + //Don't fail during the check: rather than enforcing guidelines, we use this plugin to fix mistakes automatically. + enforceCheck false + java { + licenseHeaderFile rootProject.file( 'config/spotless/license.java' ) + removeUnusedImports() + indentWithTabs( 4 ) + trimTrailingWhitespace() + endWithNewline() + } +} + + +// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// Enforced rules +// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +def enforceRulesTask = tasks.register( "enforceRules" ) { + description "Enforces some formatting rules to src/main/java files" + doLast { + def illegalImport = ~/^import (sun|java.awt|org.slf4j)/ + def missingNewline = ~/^\s*}\s*(else|catch|finally)/ + def lowerEll = ~/\b\d+l\b/ + def errors = 0 + def tree = fileTree( "src/main/java/" ) + tree.include "**/*.java" + tree.each { file -> + def lineNum = 0 + def shortName = file.path.substring( rootDir.path.length() ) + file.eachLine { line -> + lineNum++ + if ( line =~ illegalImport ) { + errors++ + logger.error( "Illegal import in ${shortName}\n${lineNum}: ${line}" ) + } + if ( line =~ missingNewline ) { + errors++ + logger.error( "Missing newline in ${shortName}\n${lineNum}: ${line}" ) + } + if ( line =~ lowerEll ) { + errors++ + logger.error( "Lowercase long literal in ${shortName}\n${lineNum}: ${line}" ) + } + } + } + if ( errors > 0 ) { + throw new GradleException( "Code rules were violated ($errors problems)" ) + } + } +} + + +// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// Lifecycle +// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +tasks.named( "check" ) { + dependsOn enforceRulesTask + dependsOn tasks.named( "spotlessCheck" ) +} + +tasks.withType( JavaCompile ).configureEach {javaCompile-> + dependsOn tasks.named( "spotlessApply" ) +} + diff --git a/buildSrc/src/main/groovy/java-module.gradle b/buildSrc/src/main/groovy/java-module.gradle index 7905dd9..e8a95ed 100644 --- a/buildSrc/src/main/groovy/java-module.gradle +++ b/buildSrc/src/main/groovy/java-module.gradle @@ -1,9 +1,6 @@ plugins { id "base-information" id "java-library" - - id "com.diffplug.spotless" - id "jacoco" } dependencies { @@ -14,13 +11,6 @@ dependencies { annotationProcessor libs.loggingProcessor annotationProcessor libs.logging annotationProcessor libs.loggingAnnotations - - testImplementation jakartaLibs.jpa - testImplementation testLibs.junit5Api - testImplementation testLibs.assertjCore - - testRuntimeOnly testLibs.junit5Engine - testRuntimeOnly testLibs.log4j } @@ -31,13 +21,6 @@ dependencies { java { sourceCompatibility = jdks.versions.baseline.get() as int targetCompatibility = jdks.versions.baseline.get() as int - - withJavadocJar() - withSourcesJar() -} - -test { - useJUnitPlatform() } // create a single "compile" task @@ -49,8 +32,6 @@ tasks.register( "compile" ).configure { tasks.withType( JavaCompile ).configureEach {javaCompile-> options.encoding = "UTF-8" options.warnings false - - dependsOn tasks.named( "spotlessApply" ) } // To force the build produce the same byte-for-byte archives and hence make Hibernate Models build reproducible. @@ -60,103 +41,3 @@ tasks.withType( AbstractArchiveTask ).configureEach { reproducibleFileOrder = true } -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Javadoc -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -tasks.named( "javadoc", Javadoc ) { - options { - use = true - encoding = "UTF-8" - - addStringOption( "Xdoclint:none", "-quiet" ) - - tags( - "todo:X", - "apiNote:a:API Note:", - "implSpec:a:Implementation Specification:", - "implNote:a:Implementation Note:" - ) - } -} - - -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Spotless -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -spotless { - //Don't fail during the check: rather than enforcing guidelines, we use this plugin to fix mistakes automatically. - enforceCheck false - java { - licenseHeaderFile rootProject.file( 'config/spotless/license.java' ) - removeUnusedImports() - indentWithTabs( 4 ) - trimTrailingWhitespace() - endWithNewline() - } -} - - -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// Enforced rules -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -def enforceRulesTask = tasks.register( "enforceRules" ) { - description "Enforces some formatting rules to src/main/java files" - doLast { - def illegalImport = ~/^import (sun|java.awt|org.slf4j)/ - def missingNewline = ~/^\s*}\s*(else|catch|finally)/ - def lowerEll = ~/\b\d+l\b/ - def errors = 0 - def tree = fileTree( "src/main/java/" ) - tree.include "**/*.java" - tree.each { file -> - def lineNum = 0 - def shortName = file.path.substring( rootDir.path.length() ) - file.eachLine { line -> - lineNum++ - if ( line =~ illegalImport ) { - errors++ - logger.error( "Illegal import in ${shortName}\n${lineNum}: ${line}" ) - } - if ( line =~ missingNewline ) { - errors++ - logger.error( "Missing newline in ${shortName}\n${lineNum}: ${line}" ) - } - if ( line =~ lowerEll ) { - errors++ - logger.error( "Lowercase long literal in ${shortName}\n${lineNum}: ${line}" ) - } - } - } - if ( errors > 0 ) { - throw new GradleException( "Code rules were violated ($errors problems)" ) - } - } -} - - - - -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// JaCoCo -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -def jacocoReportTask = tasks.named( "jacocoTestReport" ) { - dependsOn tasks.named( "test" ) -} - -jacocoTestReport { - reports { - xml.required = false - csv.required = false - html.outputLocation = layout.buildDirectory.dir( "jacocoHtml" ) - } -} - -tasks.named( "check" ) { - dependsOn enforceRulesTask - dependsOn tasks.named( "spotlessCheck" ) - dependsOn jacocoReportTask -} diff --git a/buildSrc/src/main/groovy/published-java-module.gradle b/buildSrc/src/main/groovy/published-java-module.gradle index 86b0d92..64d8186 100644 --- a/buildSrc/src/main/groovy/published-java-module.gradle +++ b/buildSrc/src/main/groovy/published-java-module.gradle @@ -1,7 +1,38 @@ plugins { id "java-module" + id "testing" + id "code-quality" id "maven-publish" id "publishing-config" id "signing-config" +} + +// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// Java handling +// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +java { + withJavadocJar() + withSourcesJar() +} + +// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// Javadoc +// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +tasks.named( "javadoc", Javadoc ) { + options { + use = true + encoding = "UTF-8" + + addStringOption( "Xdoclint:none", "-quiet" ) + + tags( + "todo:X", + "apiNote:a:API Note:", + "implSpec:a:Implementation Specification:", + "implNote:a:Implementation Note:" + ) + } } \ No newline at end of file diff --git a/buildSrc/src/main/groovy/shared-testing.gradle b/buildSrc/src/main/groovy/shared-testing.gradle new file mode 100644 index 0000000..b367744 --- /dev/null +++ b/buildSrc/src/main/groovy/shared-testing.gradle @@ -0,0 +1,40 @@ +plugins { + id "testing" +} + +// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// Wire in the shared-tests +// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +// link the +configurations { + sharedTestClasses { + canBeConsumed = false + canBeResolved = true + } + sharedTestResources { + canBeConsumed = false + canBeResolved = true + } + sharedTestRuntimeClasspath { + canBeConsumed = false + canBeResolved = true + extendsFrom testRuntimeClasspath + } +} + +dependencies { + testImplementation project( path: ":hibernate-models", configuration: "exposedTestClasses" ) + + sharedTestClasses project(path: ':hibernate-models', configuration: 'exposedTestClasses') + sharedTestResources project(path: ':hibernate-models', configuration: 'exposedTestResources') + sharedTestRuntimeClasspath project(path: ':hibernate-models', configuration: 'exposedTestRuntimeClasspath') +} + +tasks.named( "test", Test ) { + // use the configurations defined above, which depends on the configurations in `:architecture-tests` + testClassesDirs += configurations.sharedTestClasses + + classpath += configurations.sharedTestResources + classpath += configurations.sharedTestRuntimeClasspath +} diff --git a/buildSrc/src/main/groovy/testing.gradle b/buildSrc/src/main/groovy/testing.gradle new file mode 100644 index 0000000..bae5ea7 --- /dev/null +++ b/buildSrc/src/main/groovy/testing.gradle @@ -0,0 +1,39 @@ +plugins { + id "java-module" + id "jacoco" +} + +dependencies { + testImplementation jakartaLibs.jpa + testImplementation testLibs.junit5Api + testImplementation testLibs.assertjCore + + testImplementation testLibs.junit5Engine + testImplementation testLibs.log4j +} + +test { + useJUnitPlatform() +} + + + +// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// JaCoCo +// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +def jacocoReportTask = tasks.named( "jacocoTestReport" ) { + dependsOn tasks.named( "test" ) +} + +jacocoTestReport { + reports { + xml.required = false + csv.required = false + html.outputLocation = layout.buildDirectory.dir( "jacocoHtml" ) + } +} + +tasks.named( "check" ) { + dependsOn jacocoReportTask +} \ No newline at end of file diff --git a/hibernate-models-jandex/build.gradle b/hibernate-models-jandex/build.gradle index c578da5..f4f6d51 100644 --- a/hibernate-models-jandex/build.gradle +++ b/hibernate-models-jandex/build.gradle @@ -1,5 +1,6 @@ plugins { id "published-java-module" + id "shared-testing" } description = "Jandex support for hibernate-models (isolated dependency)" @@ -8,6 +9,4 @@ dependencies { api project( ":hibernate-models" ) implementation libs.jandex - - testImplementation project( ":hibernate-models-testing" ) } diff --git a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexBuilders.java b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexBuilders.java index 77988fd..e441a8f 100644 --- a/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexBuilders.java +++ b/hibernate-models-jandex/src/main/java/org/hibernate/models/jandex/internal/JandexBuilders.java @@ -317,7 +317,7 @@ public static JandexValueExtractor buildValueHandlersReturnExtractor( if ( isDouble( valueTypeDescriptor ) ) { converterCollector.accept( valueTypeDescriptor, (JandexValueConverter) DoubleValueConverter.JANDEX_DOUBLE_VALUE_WRAPPER ); extractorCollector.accept( valueTypeDescriptor, (JandexValueExtractor) DoubleValueExtractor.JANDEX_DOUBLE_EXTRACTOR ); - return (JandexValueExtractor) DoubleValueConverter.JANDEX_DOUBLE_VALUE_WRAPPER; + return (JandexValueExtractor) DoubleValueExtractor.JANDEX_DOUBLE_EXTRACTOR; } if ( isFloat( valueTypeDescriptor ) ) { diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/MixedSourcesTests.java b/hibernate-models-jandex/src/test/java/org/hibernate/models/MixedSourcesTests.java deleted file mode 100644 index f2c665b..0000000 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/MixedSourcesTests.java +++ /dev/null @@ -1,105 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * Copyright: Red Hat Inc. and Hibernate Authors - */ -package org.hibernate.models; - -import org.hibernate.models.internal.jdk.JdkClassDetails; -import org.hibernate.models.jandex.internal.JandexClassDetails; -import org.hibernate.models.spi.ClassDetails; -import org.hibernate.models.spi.SourceModelBuildingContext; - -import org.junit.jupiter.api.Test; - -import org.jboss.jandex.Index; - -import jakarta.persistence.Embeddable; -import jakarta.persistence.Embedded; -import jakarta.persistence.Entity; -import jakarta.persistence.Id; -import jakarta.persistence.Table; - -import static org.assertj.core.api.Assertions.assertThat; - -/** - * Tests mixing Jandex and JDK references - * - * @author Steve Ebersole - */ -public class MixedSourcesTests { - @Test - void testEntityNotInJandex() { - final Index index = SourceModelTestHelper.buildJandexIndex( Embeddable2.class ); - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - index, - Entity2.class, - Embeddable2.class - ); - - final ClassDetails entity2Details = buildingContext - .getClassDetailsRegistry() - .findClassDetails( Entity2.class.getName() ); - assertThat( entity2Details ).isNotNull(); - assertThat( entity2Details ).isInstanceOf( JdkClassDetails.class ); - - final ClassDetails embeddable2Details = buildingContext - .getClassDetailsRegistry() - .findClassDetails( Embeddable2.class.getName() ); - assertThat( embeddable2Details ).isNotNull(); - assertThat( embeddable2Details ).isInstanceOf( JandexClassDetails.class ); - } - - @Test - void testEmbeddableNotInJandex() { - final Index index = SourceModelTestHelper.buildJandexIndex( Entity1.class ); - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - index, - Entity1.class, - Embeddable1.class - ); - - final ClassDetails entity1Details = buildingContext - .getClassDetailsRegistry() - .findClassDetails( Entity1.class.getName() ); - assertThat( entity1Details ).isNotNull(); - assertThat( entity1Details ).isInstanceOf( JandexClassDetails.class ); - - final ClassDetails embeddable1Details = buildingContext - .getClassDetailsRegistry() - .findClassDetails( Embeddable1.class.getName() ); - assertThat( embeddable1Details ).isNotNull(); - assertThat( embeddable1Details ).isInstanceOf( JdkClassDetails.class ); - } - - @Entity(name="Entity1") - @Table(name="entity_1") - public static class Entity1 { - @Id - private Integer id; - private String name; - @Embedded - private Embeddable1 embeddable; - } - - @Embeddable - public static class Embeddable1 { - private String stuff; - private String moreStuff; - } - - @Entity(name="Entity2") - @Table(name="entity_2") - public static class Entity2 { - @Id - private Integer id; - private String name; - @Embedded - private Embeddable2 embeddable; - } - - @Embeddable - public static class Embeddable2 { - private String stuff; - private String moreStuff; - } -} diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/SourceModelTestHelper.java b/hibernate-models-jandex/src/test/java/org/hibernate/models/SourceModelTestHelper.java deleted file mode 100644 index 60ec5e7..0000000 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/SourceModelTestHelper.java +++ /dev/null @@ -1,119 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * Copyright: Red Hat Inc. and Hibernate Authors - */ -package org.hibernate.models; - -import java.io.IOException; -import java.lang.annotation.Annotation; - -import org.hibernate.models.internal.BaseLineJavaTypes; -import org.hibernate.models.internal.BasicModelBuildingContextImpl; -import org.hibernate.models.internal.jdk.JdkBuilders; -import org.hibernate.models.internal.util.CollectionHelper; -import org.hibernate.models.jandex.internal.JandexIndexerHelper; -import org.hibernate.models.jandex.internal.JandexModelBuildingContextImpl; -import org.hibernate.models.orm.JpaAnnotations; -import org.hibernate.models.orm.OrmAnnotationHelper; -import org.hibernate.models.spi.ClassLoading; -import org.hibernate.models.spi.SourceModelBuildingContext; - -import org.jboss.jandex.ClassInfo; -import org.jboss.jandex.Index; -import org.jboss.jandex.IndexView; -import org.jboss.jandex.Indexer; - -import static org.hibernate.models.internal.SimpleClassLoading.SIMPLE_CLASS_LOADING; - -/** - * @author Steve Ebersole - */ -public class SourceModelTestHelper { - - public static SourceModelBuildingContext createBuildingContext(Class modelClass) { - return createBuildingContext( SIMPLE_CLASS_LOADING, modelClass ); - } - - public static SourceModelBuildingContext createBuildingContext(Class... modelClasses) { - return createBuildingContext( SIMPLE_CLASS_LOADING, modelClasses ); - } - - public static SourceModelBuildingContext createBuildingContext(ClassLoading classLoadingAccess, Class... modelClasses) { - final Index jandexIndex = buildJandexIndex( classLoadingAccess, modelClasses ); - return createBuildingContext( jandexIndex, modelClasses ); - } - - public static SourceModelBuildingContext createBuildingContext(IndexView jandexIndex, Class modelClass) { - return createBuildingContext( jandexIndex, SIMPLE_CLASS_LOADING, modelClass ); - } - - public static SourceModelBuildingContext createBuildingContext(IndexView jandexIndex, Class... modelClasses) { - return createBuildingContext( jandexIndex, SIMPLE_CLASS_LOADING, modelClasses ); - } - - public static SourceModelBuildingContext createBuildingContext( - IndexView jandexIndex, - ClassLoading classLoadingAccess, - Class... modelClasses) { - final SourceModelBuildingContext ctx; - if ( jandexIndex == null ) { - ctx = new BasicModelBuildingContextImpl( - classLoadingAccess, - (contributions, buildingContext1) -> OrmAnnotationHelper.forEachOrmAnnotation( contributions::registerAnnotation ) - ); - } - else { - ctx = new JandexModelBuildingContextImpl( - jandexIndex, - classLoadingAccess, - (contributions, buildingContext1) -> OrmAnnotationHelper.forEachOrmAnnotation( contributions::registerAnnotation ) - ); - - for ( ClassInfo knownClass : jandexIndex.getKnownClasses() ) { - ctx.getClassDetailsRegistry().resolveClassDetails( knownClass.name().toString() ); - - if ( knownClass.isAnnotation() ) { - final Class annotationClass = classLoadingAccess.classForName( knownClass.name().toString() ); - ctx.getAnnotationDescriptorRegistry().resolveDescriptor( - annotationClass, - annotationType -> JdkBuilders.buildAnnotationDescriptor( - annotationType, - ctx - ) - ); - } - } - } - - if ( CollectionHelper.isNotEmpty( modelClasses ) ) { - for ( Class modelClass : modelClasses ) { - ctx.getClassDetailsRegistry().resolveClassDetails( modelClass.getName() ); - } - } - - return ctx; - } - - public static Index buildJandexIndex(Class... modelClasses) { - return buildJandexIndex( SIMPLE_CLASS_LOADING, modelClasses ); - } - - public static Index buildJandexIndex(ClassLoading classLoadingAccess, Class... modelClasses) { - final Indexer indexer = new Indexer(); - BaseLineJavaTypes.forEachJavaType( (javaType) -> JandexIndexerHelper.apply( javaType, indexer, classLoadingAccess ) ); - JpaAnnotations.forEachAnnotation( (descriptor) -> JandexIndexerHelper.apply( descriptor.getAnnotationType(), indexer, classLoadingAccess ) ); - - if ( CollectionHelper.isNotEmpty( modelClasses ) ) { - for ( Class modelClass : modelClasses ) { - try { - indexer.indexClass( modelClass ); - } - catch (IOException e) { - throw new RuntimeException( e ); - } - } - } - - return indexer.complete(); - } -} diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/testing/shared/intg/JandexTestingModelContextFactoryImpl.java b/hibernate-models-jandex/src/test/java/org/hibernate/models/testing/shared/intg/JandexTestingModelContextFactoryImpl.java new file mode 100644 index 0000000..63ceb5b --- /dev/null +++ b/hibernate-models-jandex/src/test/java/org/hibernate/models/testing/shared/intg/JandexTestingModelContextFactoryImpl.java @@ -0,0 +1,54 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * Copyright: Red Hat Inc. and Hibernate Authors + */ +package org.hibernate.models.testing.shared.intg; + +import java.io.IOException; + +import org.hibernate.models.internal.BaseLineJavaTypes; +import org.hibernate.models.internal.util.CollectionHelper; +import org.hibernate.models.jandex.internal.JandexIndexerHelper; +import org.hibernate.models.jandex.internal.JandexModelBuildingContextImpl; +import org.hibernate.models.spi.ClassLoading; +import org.hibernate.models.spi.RegistryPrimer; +import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.testing.intg.TestingModelContextFactory; +import org.hibernate.models.testing.orm.JpaAnnotations; + +import org.jboss.jandex.Index; +import org.jboss.jandex.Indexer; + +import static org.hibernate.models.internal.SimpleClassLoading.SIMPLE_CLASS_LOADING; + +/** + * @author Steve Ebersole + */ +public class JandexTestingModelContextFactoryImpl implements TestingModelContextFactory { + @Override + public SourceModelBuildingContext createModelContext( + RegistryPrimer registryPrimer, + Class... modelClasses) { + final Index jandexIndex = buildJandexIndex( SIMPLE_CLASS_LOADING, modelClasses ); + return new JandexModelBuildingContextImpl( jandexIndex, SIMPLE_CLASS_LOADING, registryPrimer ); + } + + public static Index buildJandexIndex(ClassLoading classLoadingAccess, Class... modelClasses) { + final Indexer indexer = new Indexer(); + BaseLineJavaTypes.forEachJavaType( (javaType) -> JandexIndexerHelper.apply( javaType, indexer, classLoadingAccess ) ); + JpaAnnotations.forEachAnnotation( (descriptor) -> JandexIndexerHelper.apply( descriptor.getAnnotationType(), indexer, classLoadingAccess ) ); + + if ( CollectionHelper.isNotEmpty( modelClasses ) ) { + for ( Class modelClass : modelClasses ) { + try { + indexer.indexClass( modelClass ); + } + catch (IOException e) { + throw new RuntimeException( e ); + } + } + } + + return indexer.complete(); + } +} diff --git a/hibernate-models-jandex/src/test/resources/META-INF/services/org.hibernate.models.testing.intg.TestingModelContextFactory b/hibernate-models-jandex/src/test/resources/META-INF/services/org.hibernate.models.testing.intg.TestingModelContextFactory new file mode 100644 index 0000000..9f97fd8 --- /dev/null +++ b/hibernate-models-jandex/src/test/resources/META-INF/services/org.hibernate.models.testing.intg.TestingModelContextFactory @@ -0,0 +1 @@ +org.hibernate.models.testing.shared.intg.JandexTestingModelContextFactoryImpl \ No newline at end of file diff --git a/hibernate-models-testing/build.gradle b/hibernate-models-testing/build.gradle deleted file mode 100644 index f1b829c..0000000 --- a/hibernate-models-testing/build.gradle +++ /dev/null @@ -1,11 +0,0 @@ -plugins { - id "java-module" -} - -dependencies { - api project( ":hibernate-models" ) - api jakartaLibs.jpa - - testImplementation platform('org.junit:junit-bom:5.10.0') - testImplementation 'org.junit.jupiter:junit-jupiter' -} \ No newline at end of file diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/pkg/package-info.java b/hibernate-models-testing/src/main/java/org/hibernate/models/pkg/package-info.java deleted file mode 100644 index 8bd4bce..0000000 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/pkg/package-info.java +++ /dev/null @@ -1,9 +0,0 @@ -/* - * Hibernate, Relational Persistence for Idiomatic Java - * - * SPDX-License-Identifier: Apache-2.0 - * Copyright: Red Hat Inc. and Hibernate Authors - */ - -@CustomAnnotation -package org.hibernate.models.pkg; diff --git a/hibernate-models/build.gradle b/hibernate-models/build.gradle index 4670f18..89835b7 100644 --- a/hibernate-models/build.gradle +++ b/hibernate-models/build.gradle @@ -4,6 +4,33 @@ plugins { description = "A de-typed abstraction over reflection and annotations" -dependencies { - testImplementation project( ":hibernate-models-testing" ) + +// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// Export testing +// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +configurations { + exposedTestClasses { + canBeConsumed = true + canBeResolved = false + } + exposedTestResources { + canBeConsumed = true + canBeResolved = false + } + exposedTestRuntimeClasspath { + canBeConsumed = true + canBeResolved = false + } +} + +artifacts { + exposedTestClasses(sourceSets.test.output.classesDirs.files) { + builtBy(compileTestJava) + } + exposedTestResources(sourceSets.test.output.resourcesDir) { + builtBy(processTestResources) + + } + exposedTestRuntimeClasspath sourceSets.test.runtimeClasspath.files } \ No newline at end of file diff --git a/hibernate-models/src/test/java/org/hibernate/models/SourceModelTestHelper.java b/hibernate-models/src/test/java/org/hibernate/models/SourceModelTestHelper.java deleted file mode 100644 index ceff578..0000000 --- a/hibernate-models/src/test/java/org/hibernate/models/SourceModelTestHelper.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * SPDX-License-Identifier: Apache-2.0 - * Copyright: Red Hat Inc. and Hibernate Authors - */ -package org.hibernate.models; - -import org.hibernate.models.internal.BasicModelBuildingContextImpl; -import org.hibernate.models.internal.util.CollectionHelper; -import org.hibernate.models.orm.JpaAnnotations; -import org.hibernate.models.spi.ClassLoading; -import org.hibernate.models.spi.RegistryPrimer; -import org.hibernate.models.spi.SourceModelBuildingContext; - -import static org.hibernate.models.internal.SimpleClassLoading.SIMPLE_CLASS_LOADING; - -public class SourceModelTestHelper { - - public static SourceModelBuildingContext createBuildingContext(Class modelClass) { - return createBuildingContext( SIMPLE_CLASS_LOADING, modelClass ); - } - - public static SourceModelBuildingContext createBuildingContext(Class... modelClasses) { - return createBuildingContext( SIMPLE_CLASS_LOADING, modelClasses ); - } - - public static SourceModelBuildingContext createBuildingContext( - ClassLoading classLoadingAccess, - Class... modelClasses) { - return createBuildingContext( - classLoadingAccess, - (contributions, buildingContext) -> JpaAnnotations.forEachAnnotation( contributions::registerAnnotation ), - modelClasses - ); - } - - public static SourceModelBuildingContext createBuildingContext( - RegistryPrimer registryPrimer, - Class... modelClasses) { - return createBuildingContext( SIMPLE_CLASS_LOADING, registryPrimer, modelClasses ); - } - - public static SourceModelBuildingContext createBuildingContext( - ClassLoading classLoadingAccess, - RegistryPrimer registryPrimer, - Class... modelClasses) { - final SourceModelBuildingContext ctx = new BasicModelBuildingContextImpl( classLoadingAccess, registryPrimer ); - - if ( CollectionHelper.isNotEmpty( modelClasses ) ) { - for ( Class modelClass : modelClasses ) { - ctx.getClassDetailsRegistry().resolveClassDetails( modelClass.getName() ); - } - } - - return ctx; - } - -} diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/TestHelper.java b/hibernate-models/src/test/java/org/hibernate/models/testing/TestHelper.java new file mode 100644 index 0000000..bb99296 --- /dev/null +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/TestHelper.java @@ -0,0 +1,77 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * Copyright: Red Hat Inc. and Hibernate Authors + */ +package org.hibernate.models.testing; + +import java.util.Iterator; +import java.util.ServiceLoader; + +import org.hibernate.models.internal.BasicModelBuildingContextImpl; +import org.hibernate.models.internal.util.CollectionHelper; +import org.hibernate.models.spi.RegistryPrimer; +import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.testing.intg.TestingModelContextFactory; +import org.hibernate.models.testing.orm.OrmAnnotationHelper; + +import static org.hibernate.models.internal.SimpleClassLoading.SIMPLE_CLASS_LOADING; + +/** + * @author Steve Ebersole + */ +public class TestHelper { + public static SourceModelBuildingContext createModelContext(Class... modelClasses) { + return createModelContext( null, modelClasses ); + } + + public static SourceModelBuildingContext buildModelContext(Class... modelClasses) { + return createModelContext( null, modelClasses ); + } + + public static SourceModelBuildingContext createModelContext( + RegistryPrimer additionalPrimer, + Class... modelClasses) { + final SourceModelBuildingContext builtContext = buildModelContext( additionalPrimer, modelClasses ); + + if ( CollectionHelper.isNotEmpty( modelClasses ) ) { + for ( Class modelClass : modelClasses ) { + builtContext.getClassDetailsRegistry().resolveClassDetails( modelClass.getName() ); + } + } + + return builtContext; + } + + private static SourceModelBuildingContext buildModelContext( + RegistryPrimer additionalPrimer, + Class... modelClasses) { + final ServiceLoader loader = ServiceLoader.load( TestingModelContextFactory.class ); + final Iterator serviceImpls = loader.iterator(); + if ( serviceImpls.hasNext() ) { + final TestingModelContextFactory contextFactory = serviceImpls.next(); + if ( serviceImpls.hasNext() ) { + throw new IllegalStateException( "Found more than one TestingModelContextFactory" ); + } + System.out.println( "Using TestingModelContextFactory: " + contextFactory ); + return contextFactory.createModelContext( + (contributions, buildingContext) -> { + OrmAnnotationHelper.forEachOrmAnnotation( contributions::registerAnnotation ); + if ( additionalPrimer != null ) { + additionalPrimer.primeRegistries( contributions, buildingContext ); + } + }, + modelClasses + ); + } + + return new BasicModelBuildingContextImpl( + SIMPLE_CLASS_LOADING, + (contributions, buildingContext) -> { + OrmAnnotationHelper.forEachOrmAnnotation( contributions::registerAnnotation ); + if ( additionalPrimer != null ) { + additionalPrimer.primeRegistries( contributions, buildingContext ); + } + } + ); + } +} diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/annotations/CustomAnnotation.java b/hibernate-models/src/test/java/org/hibernate/models/testing/annotations/CustomAnnotation.java similarity index 91% rename from hibernate-models-testing/src/main/java/org/hibernate/models/annotations/CustomAnnotation.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/annotations/CustomAnnotation.java index fcd73be..b00f35a 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/annotations/CustomAnnotation.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/annotations/CustomAnnotation.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.annotations; +package org.hibernate.models.testing.annotations; import java.lang.annotation.ElementType; import java.lang.annotation.Inherited; diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/annotations/CustomAnnotations.java b/hibernate-models/src/test/java/org/hibernate/models/testing/annotations/CustomAnnotations.java similarity index 90% rename from hibernate-models-testing/src/main/java/org/hibernate/models/annotations/CustomAnnotations.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/annotations/CustomAnnotations.java index 9adcde6..fa15e5c 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/annotations/CustomAnnotations.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/annotations/CustomAnnotations.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.annotations; +package org.hibernate.models.testing.annotations; import java.lang.annotation.ElementType; import java.lang.annotation.Inherited; diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/annotations/CustomMetaAnnotation.java b/hibernate-models/src/test/java/org/hibernate/models/testing/annotations/CustomMetaAnnotation.java similarity index 89% rename from hibernate-models-testing/src/main/java/org/hibernate/models/annotations/CustomMetaAnnotation.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/annotations/CustomMetaAnnotation.java index d95c81b..32563f2 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/annotations/CustomMetaAnnotation.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/annotations/CustomMetaAnnotation.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.annotations; +package org.hibernate.models.testing.annotations; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/annotations/EverythingBagel.java b/hibernate-models/src/test/java/org/hibernate/models/testing/annotations/EverythingBagel.java similarity index 93% rename from hibernate-models-testing/src/main/java/org/hibernate/models/annotations/EverythingBagel.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/annotations/EverythingBagel.java index f2cdecb..63f7a85 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/annotations/EverythingBagel.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/annotations/EverythingBagel.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.annotations; +package org.hibernate.models.testing.annotations; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/annotations/Nested.java b/hibernate-models/src/test/java/org/hibernate/models/testing/annotations/Nested.java similarity index 88% rename from hibernate-models-testing/src/main/java/org/hibernate/models/annotations/Nested.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/annotations/Nested.java index cbb984d..81514b5 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/annotations/Nested.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/annotations/Nested.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.annotations; +package org.hibernate.models.testing.annotations; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/annotations/Status.java b/hibernate-models/src/test/java/org/hibernate/models/testing/annotations/Status.java similarity index 75% rename from hibernate-models-testing/src/main/java/org/hibernate/models/annotations/Status.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/annotations/Status.java index 9113782..260c1bd 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/annotations/Status.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/annotations/Status.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.annotations; +package org.hibernate.models.testing.annotations; /** * @author Steve Ebersole diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/pkg/CustomAnnotation.java b/hibernate-models/src/test/java/org/hibernate/models/testing/annotations/pkg/PackageAnnotation.java similarity index 51% rename from hibernate-models-testing/src/main/java/org/hibernate/models/pkg/CustomAnnotation.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/annotations/pkg/PackageAnnotation.java index aecafae..38a8f70 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/pkg/CustomAnnotation.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/annotations/pkg/PackageAnnotation.java @@ -2,20 +2,20 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.pkg; +package org.hibernate.models.testing.annotations.pkg; -import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; +import org.hibernate.models.testing.annotations.CustomMetaAnnotation; + /** * @author Steve Ebersole */ - -@Target({ ElementType.PACKAGE}) -@Retention(RetentionPolicy.RUNTIME) -@Documented -public @interface CustomAnnotation { +@Target( ElementType.PACKAGE ) +@Retention( RetentionPolicy.RUNTIME ) +@CustomMetaAnnotation( someValue = "abc" ) +public @interface PackageAnnotation { } diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/annotations/pkg/package-info.java b/hibernate-models/src/test/java/org/hibernate/models/testing/annotations/pkg/package-info.java new file mode 100644 index 0000000..b0c75d7 --- /dev/null +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/annotations/pkg/package-info.java @@ -0,0 +1,5 @@ +/** + * @author Steve Ebersole + */ +@PackageAnnotation +package org.hibernate.models.testing.annotations.pkg; diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/SimpleEntity.java b/hibernate-models/src/test/java/org/hibernate/models/testing/domain/SimpleEntity.java similarity index 94% rename from hibernate-models-testing/src/main/java/org/hibernate/models/SimpleEntity.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/domain/SimpleEntity.java index 91bbebb..01cdf22 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/SimpleEntity.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/domain/SimpleEntity.java @@ -2,11 +2,11 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models; +package org.hibernate.models.testing.domain; import java.util.List; -import org.hibernate.models.annotations.CustomAnnotation; +import org.hibernate.models.testing.annotations.CustomAnnotation; import jakarta.persistence.Basic; import jakarta.persistence.Cacheable; diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/intg/TestingModelContextFactory.java b/hibernate-models/src/test/java/org/hibernate/models/testing/intg/TestingModelContextFactory.java new file mode 100644 index 0000000..705822d --- /dev/null +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/intg/TestingModelContextFactory.java @@ -0,0 +1,18 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * Copyright: Red Hat Inc. and Hibernate Authors + */ +package org.hibernate.models.testing.intg; + +import org.hibernate.models.spi.RegistryPrimer; +import org.hibernate.models.spi.SourceModelBuildingContext; + +/** + * Java service loadable factory for {@linkplain SourceModelBuildingContext} + * instance as part of testing. + * + * @author Steve Ebersole + */ +public interface TestingModelContextFactory { + SourceModelBuildingContext createModelContext(RegistryPrimer registryPrimer, Class... modelClasses); +} diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/AttributeMarker.java b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/AttributeMarker.java new file mode 100644 index 0000000..2ebc6a3 --- /dev/null +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/AttributeMarker.java @@ -0,0 +1,42 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * Copyright: Red Hat Inc. and Hibernate Authors + */ +package org.hibernate.models.testing.orm; + +import java.lang.annotation.Annotation; + +import jakarta.persistence.FetchType; + +/** + * Commonality for annotations which identify attributes. + * + * @apiNote All the interesting bits are in the optional sub-interfaces. + * + * @author Steve Ebersole + */ +public interface AttributeMarker extends Annotation { + interface Fetchable extends AttributeMarker { + FetchType fetch(); + + void fetch(FetchType value); + } + + interface Cascadeable extends AttributeMarker { + jakarta.persistence.CascadeType[] cascade(); + + void cascade(jakarta.persistence.CascadeType[] value); + } + + interface Optionalable extends AttributeMarker { + boolean optional(); + + void optional(boolean value); + } + + interface Mappable extends AttributeMarker { + String mappedBy(); + + void mappedBy(String value); + } +} diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/BasicAnnotation.java b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/BasicAnnotation.java similarity index 96% rename from hibernate-models-testing/src/main/java/org/hibernate/models/orm/BasicAnnotation.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/orm/BasicAnnotation.java index 44c325c..b2b5bb2 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/BasicAnnotation.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/BasicAnnotation.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm; +package org.hibernate.models.testing.orm; import java.lang.annotation.Annotation; import java.util.Map; diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/CacheableAnnotation.java b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/CacheableAnnotation.java similarity index 96% rename from hibernate-models-testing/src/main/java/org/hibernate/models/orm/CacheableAnnotation.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/orm/CacheableAnnotation.java index c7f9f8b..cde31e6 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/CacheableAnnotation.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/CacheableAnnotation.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm; +package org.hibernate.models.testing.orm; import java.lang.annotation.Annotation; import java.util.Map; diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/CheckConstraintAnnotation.java b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/CheckConstraintAnnotation.java similarity index 97% rename from hibernate-models-testing/src/main/java/org/hibernate/models/orm/CheckConstraintAnnotation.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/orm/CheckConstraintAnnotation.java index 7e37f41..c2243fc 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/CheckConstraintAnnotation.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/CheckConstraintAnnotation.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm; +package org.hibernate.models.testing.orm; import java.lang.annotation.Annotation; import java.util.Map; diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/CollectionTableAnnotation.java b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/CollectionTableAnnotation.java new file mode 100644 index 0000000..16e32a8 --- /dev/null +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/CollectionTableAnnotation.java @@ -0,0 +1,146 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * Copyright: Red Hat Inc. and Hibernate Authors + */ +package org.hibernate.models.testing.orm; + +import java.lang.annotation.Annotation; +import java.util.Map; + +import org.hibernate.models.spi.SourceModelBuildingContext; + +import jakarta.persistence.CollectionTable; +import jakarta.persistence.ForeignKey; +import jakarta.persistence.Index; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.UniqueConstraint; + +/** + * @author Steve Ebersole + */ +public class CollectionTableAnnotation implements CollectionTable, CommonTableDetails { + private String name; + private String catalog; + private String schema; + private String options; + private JoinColumn[] joinColumns; + private ForeignKey foreignKey; + private UniqueConstraint[] uniqueConstraints; + private Index[] indexes; + + public CollectionTableAnnotation(SourceModelBuildingContext modelContext) { + name = ""; + catalog = ""; + schema = ""; + options = ""; + joinColumns = new JoinColumn[0]; + foreignKey = new ForeignKeyAnnotation( modelContext ); + uniqueConstraints = new UniqueConstraint[0]; + indexes = new Index[0]; + } + + public CollectionTableAnnotation(CollectionTable usage, SourceModelBuildingContext modelContext) { + name = usage.name(); + catalog = usage.catalog(); + schema = usage.schema(); + options = usage.options(); + joinColumns = usage.joinColumns(); + foreignKey = usage.foreignKey(); + uniqueConstraints = usage.uniqueConstraints(); + indexes = usage.indexes(); + } + + public CollectionTableAnnotation(Map attributeValues, SourceModelBuildingContext modelContext) { + name = (String) attributeValues.get( "name" ); + catalog = (String) attributeValues.get( "catalog" ); + schema = (String) attributeValues.get( "schema" ); + options = (String) attributeValues.get( "options" ); + joinColumns = (JoinColumn[]) attributeValues.get( "joinColumns" ); + foreignKey = (ForeignKey) attributeValues.get( "foreignKey" ); + uniqueConstraints = (UniqueConstraint[]) attributeValues.get( "uniqueConstraints" ); + indexes = (Index[]) attributeValues.get( "indexes" ); + } + + @Override + public String name() { + return name; + } + + @Override + public void name(String name) { + this.name = name; + } + + @Override + public String catalog() { + return catalog; + } + + @Override + public void catalog(String catalog) { + this.catalog = catalog; + } + + @Override + public String schema() { + return schema; + } + + @Override + public void schema(String schema) { + this.schema = schema; + } + + @Override + public JoinColumn[] joinColumns() { + return joinColumns; + } + + public void joinColumns(JoinColumn[] joinColumns) { + this.joinColumns = joinColumns; + } + + @Override + public ForeignKey foreignKey() { + return foreignKey; + } + + public void foreignKey(ForeignKey foreignKey) { + this.foreignKey = foreignKey; + } + + @Override + public UniqueConstraint[] uniqueConstraints() { + return uniqueConstraints; + } + + @Override + public void uniqueConstraints(UniqueConstraint[] uniqueConstraints) { + this.uniqueConstraints = uniqueConstraints; + } + + @Override + public Index[] indexes() { + return indexes; + } + + @Override + public void indexes(Index[] indexes) { + this.indexes = indexes; + } + + @Override + public String options() { + return options; + } + + @Override + public void options(String options) { + this.options = options; + } + + @Override + public Class annotationType() { + return CollectionTable.class; + } +} diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/ColumnAnnotation.java b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/ColumnAnnotation.java similarity index 97% rename from hibernate-models-testing/src/main/java/org/hibernate/models/orm/ColumnAnnotation.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/orm/ColumnAnnotation.java index 4fb82ca..87a1e2d 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/ColumnAnnotation.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/ColumnAnnotation.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm; +package org.hibernate.models.testing.orm; import java.lang.annotation.Annotation; import java.util.Map; @@ -13,7 +13,7 @@ import jakarta.persistence.Column; import static org.hibernate.models.internal.AnnotationUsageHelper.extractRepeatedValues; -import static org.hibernate.models.orm.JpaAnnotations.COLUMN; +import static org.hibernate.models.testing.orm.JpaAnnotations.COLUMN; /** * @author Steve Ebersole diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/ColumnDetails.java b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/ColumnDetails.java similarity index 96% rename from hibernate-models-testing/src/main/java/org/hibernate/models/orm/ColumnDetails.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/orm/ColumnDetails.java index a3e0f45..1c2bddf 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/ColumnDetails.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/ColumnDetails.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm; +package org.hibernate.models.testing.orm; /** * @author Steve Ebersole diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/CommonTableDetails.java b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/CommonTableDetails.java similarity index 86% rename from hibernate-models-testing/src/main/java/org/hibernate/models/orm/CommonTableDetails.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/orm/CommonTableDetails.java index 8e1c514..1403ca9 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/CommonTableDetails.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/CommonTableDetails.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm; +package org.hibernate.models.testing.orm; import jakarta.persistence.Index; import jakarta.persistence.UniqueConstraint; @@ -28,4 +28,7 @@ public interface CommonTableDetails extends DatabaseObjectDetails { Index[] indexes(); void indexes(Index[] indexes); + + String options(); + void options(String options); } diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/DatabaseObjectDetails.java b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/DatabaseObjectDetails.java similarity index 94% rename from hibernate-models-testing/src/main/java/org/hibernate/models/orm/DatabaseObjectDetails.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/orm/DatabaseObjectDetails.java index 938456e..f3f5cd1 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/DatabaseObjectDetails.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/DatabaseObjectDetails.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm; +package org.hibernate.models.testing.orm; import jakarta.persistence.SequenceGenerator; diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/ElementCollectionJpaAnnotation.java b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/ElementCollectionJpaAnnotation.java new file mode 100644 index 0000000..39b511d --- /dev/null +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/ElementCollectionJpaAnnotation.java @@ -0,0 +1,69 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * Copyright: Red Hat Inc. and Hibernate Authors + */ +package org.hibernate.models.testing.orm; + +import java.lang.annotation.Annotation; +import java.util.Map; + +import org.hibernate.models.spi.SourceModelBuildingContext; + +import jakarta.persistence.ElementCollection; + +public class ElementCollectionJpaAnnotation implements ElementCollection, AttributeMarker.Fetchable { + private Class targetClass; + private jakarta.persistence.FetchType fetch; + + /** + * Used in creating dynamic annotation instances (e.g. from XML) + */ + public ElementCollectionJpaAnnotation(SourceModelBuildingContext modelContext) { + this.targetClass = void.class; + this.fetch = jakarta.persistence.FetchType.LAZY; + } + + /** + * Used in creating annotation instances from JDK variant + */ + public ElementCollectionJpaAnnotation(ElementCollection annotation, SourceModelBuildingContext modelContext) { + this.targetClass = annotation.targetClass(); + this.fetch = annotation.fetch(); + } + + /** + * Used in creating annotation instances from Jandex variant + */ + public ElementCollectionJpaAnnotation( + Map attributeValues, + SourceModelBuildingContext modelContext) { + this.targetClass = (Class) attributeValues.get( "targetClass" ); + this.fetch = (jakarta.persistence.FetchType) attributeValues.get( "fetch" ); + } + + @Override + public Class annotationType() { + return ElementCollection.class; + } + + @Override + public Class targetClass() { + return targetClass; + } + + public void targetClass(Class value) { + this.targetClass = value; + } + + + @Override + public jakarta.persistence.FetchType fetch() { + return fetch; + } + + public void fetch(jakarta.persistence.FetchType value) { + this.fetch = value; + } + + +} diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/EntityAnnotation.java b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/EntityAnnotation.java similarity index 95% rename from hibernate-models-testing/src/main/java/org/hibernate/models/orm/EntityAnnotation.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/orm/EntityAnnotation.java index c1f380a..03c1c61 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/EntityAnnotation.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/EntityAnnotation.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm; +package org.hibernate.models.testing.orm; import java.lang.annotation.Annotation; import java.util.Map; diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/ForeignKeyAnnotation.java b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/ForeignKeyAnnotation.java similarity index 97% rename from hibernate-models-testing/src/main/java/org/hibernate/models/orm/ForeignKeyAnnotation.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/orm/ForeignKeyAnnotation.java index fc4ff68..ed6997e 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/ForeignKeyAnnotation.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/ForeignKeyAnnotation.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm; +package org.hibernate.models.testing.orm; import java.lang.annotation.Annotation; import java.util.Map; diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/IdAnnotation.java b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/IdAnnotation.java similarity index 94% rename from hibernate-models-testing/src/main/java/org/hibernate/models/orm/IdAnnotation.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/orm/IdAnnotation.java index 9ca02f4..8f6b886 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/IdAnnotation.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/IdAnnotation.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm; +package org.hibernate.models.testing.orm; import java.lang.annotation.Annotation; import java.util.Map; diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/IndexAnnotation.java b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/IndexAnnotation.java similarity index 97% rename from hibernate-models-testing/src/main/java/org/hibernate/models/orm/IndexAnnotation.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/orm/IndexAnnotation.java index 0057d5a..5584278 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/IndexAnnotation.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/IndexAnnotation.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm; +package org.hibernate.models.testing.orm; import java.lang.annotation.Annotation; import java.util.Map; diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/JoinColumnAnnotation.java b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/JoinColumnAnnotation.java new file mode 100644 index 0000000..71a5f84 --- /dev/null +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/JoinColumnAnnotation.java @@ -0,0 +1,208 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * Copyright: Red Hat Inc. and Hibernate Authors + */ +package org.hibernate.models.testing.orm; + +import java.lang.annotation.Annotation; +import java.util.Map; + +import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.testing.orm.ColumnDetails.AlternateTableCapable; +import org.hibernate.models.testing.orm.ColumnDetails.Definable; +import org.hibernate.models.testing.orm.ColumnDetails.Mutable; +import org.hibernate.models.testing.orm.ColumnDetails.Nullable; +import org.hibernate.models.testing.orm.ColumnDetails.Uniqueable; + +import jakarta.persistence.CheckConstraint; +import jakarta.persistence.ForeignKey; +import jakarta.persistence.JoinColumn; + + +/** + * @author Steve Ebersole + */ +public class JoinColumnAnnotation + implements JoinColumn, Nullable, Uniqueable, Mutable, Definable, AlternateTableCapable { + private String name; + private String table; + private String referencedColumnName; + private boolean nullable; + private boolean unique; + private boolean insertable; + private boolean updatable; + private String columnDefinition; + private String options; + + private ForeignKey foreignKey; + private CheckConstraint[] check; + + private String comment; + + public JoinColumnAnnotation(SourceModelBuildingContext modelContext) { + name = ""; + table = ""; + referencedColumnName = ""; + nullable = true; + unique = false; + insertable = true; + updatable = true; + comment = ""; + columnDefinition = ""; + options = ""; + foreignKey = new ForeignKeyAnnotation( modelContext ); + check = new CheckConstraint[0]; + } + + public JoinColumnAnnotation(JoinColumn usage, SourceModelBuildingContext modelContext) { + name = usage.name(); + table = usage.table(); + referencedColumnName = usage.referencedColumnName(); + nullable = usage.nullable(); + unique = usage.unique(); + insertable = usage.insertable(); + updatable = usage.updatable(); + comment = usage.comment(); + columnDefinition = usage.columnDefinition(); + options = usage.options(); + foreignKey = usage.foreignKey(); + check = usage.check(); + } + + public JoinColumnAnnotation(Map attributeValues, SourceModelBuildingContext modelContext) { + name = (String) attributeValues.get( "name" ); + table = (String) attributeValues.get( "table" ); + referencedColumnName = (String) attributeValues.get( "referencedColumnName" ); + nullable = (boolean) attributeValues.get( "nullable" ); + unique = (boolean) attributeValues.get( "unique" ); + insertable = (boolean) attributeValues.get( "insertable" ); + updatable = (boolean) attributeValues.get( "updatable" ); + comment = (String) attributeValues.get( "comment" ); + columnDefinition = (String) attributeValues.get( "columnDefinition" ); + options = (String) attributeValues.get( "options" ); + foreignKey = (ForeignKey) attributeValues.get( "foreignKey" ); + check = (CheckConstraint[]) attributeValues.get( "check" ); + } + + + @Override + public String name() { + return name; + } + + @Override + public void name(String value) { + this.name = name; + } + + @Override + public String referencedColumnName() { + return referencedColumnName; + } + + public void referencedColumnName(String referencedColumnName) { + this.referencedColumnName = referencedColumnName; + } + + @Override + public boolean unique() { + return unique; + } + + @Override + public void unique(boolean unique) { + this.unique = unique; + } + + @Override + public boolean nullable() { + return nullable; + } + + @Override + public void nullable(boolean nullable) { + this.nullable = nullable; + } + + @Override + public boolean insertable() { + return insertable; + } + + @Override + public void insertable(boolean insertable) { + this.insertable = insertable; + } + + @Override + public boolean updatable() { + return updatable; + } + + @Override + public void updatable(boolean updatable) { + this.updatable = updatable; + } + + @Override + public String columnDefinition() { + return columnDefinition; + } + + @Override + public void columnDefinition(String columnDefinition) { + this.columnDefinition = columnDefinition; + } + + @Override + public String options() { + return options; + } + + @Override + public void options(String options) { + this.options = options; + } + + @Override + public String table() { + return table; + } + + @Override + public void table(String table) { + this.table = table; + } + + @Override + public ForeignKey foreignKey() { + return foreignKey; + } + + public void foreignKey(ForeignKey foreignKey) { + this.foreignKey = foreignKey; + } + + @Override + public CheckConstraint[] check() { + return check; + } + + public void check(CheckConstraint[] check) { + this.check = check; + } + + @Override + public String comment() { + return comment; + } + + public void comment(String comment) { + this.comment = comment; + } + + @Override + public Class annotationType() { + return JoinColumn.class; + } +} diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/JoinColumnsAnnotation.java b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/JoinColumnsAnnotation.java new file mode 100644 index 0000000..6d1ce47 --- /dev/null +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/JoinColumnsAnnotation.java @@ -0,0 +1,62 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * Copyright: Red Hat Inc. and Hibernate Authors + */ +package org.hibernate.models.testing.orm; + +import java.lang.annotation.Annotation; +import java.util.Map; + +import org.hibernate.models.spi.SourceModelBuildingContext; + +import jakarta.persistence.ForeignKey; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.JoinColumns; + + +/** + * @author Steve Ebersole + */ +public class JoinColumnsAnnotation implements JoinColumns, RepeatableContainer { + private JoinColumn[] value; + private ForeignKey foreignKey; + + public JoinColumnsAnnotation(SourceModelBuildingContext modelContext) { + value = new JoinColumn[0]; + foreignKey = new ForeignKeyAnnotation( modelContext ); + } + + public JoinColumnsAnnotation(JoinColumns usage, SourceModelBuildingContext modelContext) { + value = usage.value(); + foreignKey = usage.foreignKey(); + } + + public JoinColumnsAnnotation(Map attributeValues, SourceModelBuildingContext modelContext) { + value = (JoinColumn[]) attributeValues.get( "value" ); + foreignKey = (ForeignKey) attributeValues.get( "foreignKey" ); + } + + @Override + public JoinColumn[] value() { + return value; + } + + @Override + public void value(JoinColumn[] value) { + this.value = value; + } + + @Override + public ForeignKey foreignKey() { + return foreignKey; + } + + public void foreignKey(ForeignKey foreignKey) { + this.foreignKey = foreignKey; + } + + @Override + public Class annotationType() { + return JoinColumns.class; + } +} diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/JpaAnnotations.java b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/JpaAnnotations.java similarity index 94% rename from hibernate-models-testing/src/main/java/org/hibernate/models/orm/JpaAnnotations.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/orm/JpaAnnotations.java index ac74276..e19ff55 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/JpaAnnotations.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/JpaAnnotations.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm; +package org.hibernate.models.testing.orm; import java.lang.annotation.Annotation; import java.util.function.Consumer; @@ -13,11 +13,15 @@ import jakarta.persistence.Basic; import jakarta.persistence.Cacheable; import jakarta.persistence.CheckConstraint; +import jakarta.persistence.CollectionTable; import jakarta.persistence.Column; +import jakarta.persistence.ElementCollection; import jakarta.persistence.Entity; import jakarta.persistence.ForeignKey; import jakarta.persistence.Id; import jakarta.persistence.Index; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.JoinColumns; import jakarta.persistence.NamedNativeQueries; import jakarta.persistence.NamedNativeQuery; import jakarta.persistence.NamedQueries; @@ -46,9 +50,8 @@ public interface JpaAnnotations { AnnotationDescriptor SEQUENCE_GENERATORS = new OrmAnnotationDescriptor<>( SequenceGenerators.class, SequenceGeneratorsAnnotation.class ); AnnotationDescriptor SEQUENCE_GENERATOR = new OrmAnnotationDescriptor<>( SequenceGenerator.class, SequenceGeneratorAnnotation.class, SEQUENCE_GENERATORS ); - AnnotationDescriptor COLUMN = new OrmAnnotationDescriptor<>( Column.class, ColumnAnnotation.class ); - AnnotationDescriptor BASIC = new OrmAnnotationDescriptor<>( Basic.class, BasicAnnotation.class ); + AnnotationDescriptor ELEMENT_COLLECTION = new OrmAnnotationDescriptor<>( ElementCollection.class, ElementCollectionJpaAnnotation.class ); AnnotationDescriptor NAMED_QUERIES = new OrmAnnotationDescriptor<>( NamedQueries.class, NamedQueriesAnnotation.class ); AnnotationDescriptor NAMED_QUERY = new OrmAnnotationDescriptor<>( NamedQuery.class, NamedQueryAnnotation.class, NAMED_QUERIES ); @@ -59,6 +62,12 @@ public interface JpaAnnotations { AnnotationDescriptor TABLE = new OrmAnnotationDescriptor<>( Table.class, TableAnnotation.class ); AnnotationDescriptor SECONDARY_TABLES = new OrmAnnotationDescriptor<>( SecondaryTables.class, SecondaryTablesAnnotation.class ); AnnotationDescriptor SECONDARY_TABLE = new OrmAnnotationDescriptor<>( SecondaryTable.class, SecondaryTableAnnotation.class, SECONDARY_TABLES ); + AnnotationDescriptor COLLECTION_TABLE = new OrmAnnotationDescriptor<>( CollectionTable.class, CollectionTableAnnotation.class ); + + AnnotationDescriptor COLUMN = new OrmAnnotationDescriptor<>( Column.class, ColumnAnnotation.class ); + + AnnotationDescriptor JOIN_COLUMNS = new OrmAnnotationDescriptor<>( JoinColumns.class, JoinColumnsAnnotation.class ); + AnnotationDescriptor JOIN_COLUMN = new OrmAnnotationDescriptor<>( JoinColumn.class, JoinColumnAnnotation.class, JOIN_COLUMNS ); AnnotationDescriptor PRIMARY_KEY_JOIN_COLUMNS = new OrmAnnotationDescriptor<>( PrimaryKeyJoinColumns.class, PrimaryKeyJoinColumnsJpaAnnotation.class ); AnnotationDescriptor PRIMARY_KEY_JOIN_COLUMN = new OrmAnnotationDescriptor<>( PrimaryKeyJoinColumn.class, PrimaryKeyJoinColumnJpaAnnotation.class, PRIMARY_KEY_JOIN_COLUMNS ); @@ -78,7 +87,6 @@ public interface JpaAnnotations { // AnnotationDescriptor ATTRIBUTE_OVERRIDE = createOrmDescriptor( AttributeOverride.class, ATTRIBUTE_OVERRIDES ); // AnnotationDescriptor BASIC = createOrmDescriptor( Basic.class ); // AnnotationDescriptor CACHEABLE = createOrmDescriptor( Cacheable.class ); -// AnnotationDescriptor COLLECTION_TABLE = createOrmDescriptor( CollectionTable.class ); // AnnotationDescriptor COLUMN = createOrmDescriptor( Column.class ); // AnnotationDescriptor COLUMN_RESULT = createOrmDescriptor( ColumnResult.class ); // AnnotationDescriptor CONVERTS = createOrmDescriptor( Converts.class ); @@ -86,7 +94,6 @@ public interface JpaAnnotations { // AnnotationDescriptor CONVERTER = createOrmDescriptor( Converter.class ); // AnnotationDescriptor DISCRIMINATOR_COLUMN = createOrmDescriptor( DiscriminatorColumn.class ); // AnnotationDescriptor DISCRIMINATOR_VALUE = createOrmDescriptor( DiscriminatorValue.class ); -// AnnotationDescriptor ELEMENT_COLLECTION = createOrmDescriptor( ElementCollection.class ); // AnnotationDescriptor EMBEDDABLE = createOrmDescriptor( Embeddable.class ); // AnnotationDescriptor EMBEDDED = createOrmDescriptor( Embedded.class ); // AnnotationDescriptor EMBEDDED_ID = createOrmDescriptor( EmbeddedId.class ); diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/Named.java b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/Named.java similarity index 82% rename from hibernate-models-testing/src/main/java/org/hibernate/models/orm/Named.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/orm/Named.java index 07db548..2b4a9ec 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/Named.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/Named.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm; +package org.hibernate.models.testing.orm; /** * @author Steve Ebersole diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/NamedNativeQueriesAnnotation.java b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/NamedNativeQueriesAnnotation.java similarity index 91% rename from hibernate-models-testing/src/main/java/org/hibernate/models/orm/NamedNativeQueriesAnnotation.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/orm/NamedNativeQueriesAnnotation.java index ce019c7..d13a758 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/NamedNativeQueriesAnnotation.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/NamedNativeQueriesAnnotation.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm; +package org.hibernate.models.testing.orm; import java.lang.annotation.Annotation; import java.util.Map; @@ -13,7 +13,7 @@ import jakarta.persistence.NamedNativeQueries; import jakarta.persistence.NamedNativeQuery; -import static org.hibernate.models.orm.JpaAnnotations.NAMED_NATIVE_QUERIES; +import static org.hibernate.models.testing.orm.JpaAnnotations.NAMED_NATIVE_QUERIES; /** * @author Steve Ebersole diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/NamedNativeQueryAnnotation.java b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/NamedNativeQueryAnnotation.java similarity index 96% rename from hibernate-models-testing/src/main/java/org/hibernate/models/orm/NamedNativeQueryAnnotation.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/orm/NamedNativeQueryAnnotation.java index 38a0511..8c749bb 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/NamedNativeQueryAnnotation.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/NamedNativeQueryAnnotation.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm; +package org.hibernate.models.testing.orm; import java.lang.annotation.Annotation; import java.util.Map; @@ -16,7 +16,7 @@ import jakarta.persistence.QueryHint; import static org.hibernate.models.internal.AnnotationUsageHelper.extractRepeatedValues; -import static org.hibernate.models.orm.JpaAnnotations.NAMED_NATIVE_QUERY; +import static org.hibernate.models.testing.orm.JpaAnnotations.NAMED_NATIVE_QUERY; /** * @author Steve Ebersole diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/NamedQueriesAnnotation.java b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/NamedQueriesAnnotation.java similarity index 91% rename from hibernate-models-testing/src/main/java/org/hibernate/models/orm/NamedQueriesAnnotation.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/orm/NamedQueriesAnnotation.java index 0857cbe..bd6e23b 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/NamedQueriesAnnotation.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/NamedQueriesAnnotation.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm; +package org.hibernate.models.testing.orm; import java.lang.annotation.Annotation; import java.util.Map; @@ -13,7 +13,7 @@ import jakarta.persistence.NamedQueries; import jakarta.persistence.NamedQuery; -import static org.hibernate.models.orm.JpaAnnotations.NAMED_QUERIES; +import static org.hibernate.models.testing.orm.JpaAnnotations.NAMED_QUERIES; /** * @author Steve Ebersole diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/NamedQueryAnnotation.java b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/NamedQueryAnnotation.java similarity index 94% rename from hibernate-models-testing/src/main/java/org/hibernate/models/orm/NamedQueryAnnotation.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/orm/NamedQueryAnnotation.java index ca9f18b..a2813b1 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/NamedQueryAnnotation.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/NamedQueryAnnotation.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm; +package org.hibernate.models.testing.orm; import java.lang.annotation.Annotation; import java.util.Map; @@ -14,7 +14,7 @@ import jakarta.persistence.QueryHint; import static org.hibernate.models.internal.AnnotationUsageHelper.extractRepeatedValues; -import static org.hibernate.models.orm.JpaAnnotations.NAMED_QUERY; +import static org.hibernate.models.testing.orm.JpaAnnotations.NAMED_QUERY; /** * @author Steve Ebersole diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/OrmAnnotationHelper.java b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/OrmAnnotationHelper.java similarity index 96% rename from hibernate-models-testing/src/main/java/org/hibernate/models/orm/OrmAnnotationHelper.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/orm/OrmAnnotationHelper.java index 0249e6f..630b41a 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/OrmAnnotationHelper.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/OrmAnnotationHelper.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm; +package org.hibernate.models.testing.orm; import java.lang.annotation.Annotation; import java.lang.reflect.Field; diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/PrimaryKeyJoinColumnJpaAnnotation.java b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/PrimaryKeyJoinColumnJpaAnnotation.java similarity index 98% rename from hibernate-models-testing/src/main/java/org/hibernate/models/orm/PrimaryKeyJoinColumnJpaAnnotation.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/orm/PrimaryKeyJoinColumnJpaAnnotation.java index 5b989f7..a89aabd 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/PrimaryKeyJoinColumnJpaAnnotation.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/PrimaryKeyJoinColumnJpaAnnotation.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm; +package org.hibernate.models.testing.orm; import java.lang.annotation.Annotation; import java.util.Map; diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/PrimaryKeyJoinColumnsJpaAnnotation.java b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/PrimaryKeyJoinColumnsJpaAnnotation.java similarity index 98% rename from hibernate-models-testing/src/main/java/org/hibernate/models/orm/PrimaryKeyJoinColumnsJpaAnnotation.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/orm/PrimaryKeyJoinColumnsJpaAnnotation.java index 5d270b2..26bb4f4 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/PrimaryKeyJoinColumnsJpaAnnotation.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/PrimaryKeyJoinColumnsJpaAnnotation.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm; +package org.hibernate.models.testing.orm; import java.lang.annotation.Annotation; import java.util.Map; diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/RepeatableContainer.java b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/RepeatableContainer.java similarity index 87% rename from hibernate-models-testing/src/main/java/org/hibernate/models/orm/RepeatableContainer.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/orm/RepeatableContainer.java index 43e79bf..70c551d 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/RepeatableContainer.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/RepeatableContainer.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm; +package org.hibernate.models.testing.orm; import java.lang.annotation.Annotation; diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/SecondaryTableAnnotation.java b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/SecondaryTableAnnotation.java similarity index 97% rename from hibernate-models-testing/src/main/java/org/hibernate/models/orm/SecondaryTableAnnotation.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/orm/SecondaryTableAnnotation.java index dc8242c..22cd44e 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/SecondaryTableAnnotation.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/SecondaryTableAnnotation.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm; +package org.hibernate.models.testing.orm; import java.lang.annotation.Annotation; import java.util.Map; @@ -17,7 +17,7 @@ import jakarta.persistence.UniqueConstraint; import static org.hibernate.models.internal.AnnotationUsageHelper.extractRepeatedValues; -import static org.hibernate.models.orm.JpaAnnotations.SECONDARY_TABLE; +import static org.hibernate.models.testing.orm.JpaAnnotations.SECONDARY_TABLE; /** * @author Steve Ebersole diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/SecondaryTablesAnnotation.java b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/SecondaryTablesAnnotation.java similarity index 91% rename from hibernate-models-testing/src/main/java/org/hibernate/models/orm/SecondaryTablesAnnotation.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/orm/SecondaryTablesAnnotation.java index cd291f2..8daed5a 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/SecondaryTablesAnnotation.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/SecondaryTablesAnnotation.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm; +package org.hibernate.models.testing.orm; import java.lang.annotation.Annotation; import java.util.Map; @@ -13,7 +13,7 @@ import jakarta.persistence.SecondaryTable; import jakarta.persistence.SecondaryTables; -import static org.hibernate.models.orm.JpaAnnotations.SECONDARY_TABLES; +import static org.hibernate.models.testing.orm.JpaAnnotations.SECONDARY_TABLES; /** * @author Steve Ebersole diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/SequenceGeneratorAnnotation.java b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/SequenceGeneratorAnnotation.java similarity index 98% rename from hibernate-models-testing/src/main/java/org/hibernate/models/orm/SequenceGeneratorAnnotation.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/orm/SequenceGeneratorAnnotation.java index 63703a0..d940eb3 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/SequenceGeneratorAnnotation.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/SequenceGeneratorAnnotation.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm; +package org.hibernate.models.testing.orm; import java.lang.annotation.Annotation; import java.util.Map; diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/SequenceGeneratorsAnnotation.java b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/SequenceGeneratorsAnnotation.java similarity index 91% rename from hibernate-models-testing/src/main/java/org/hibernate/models/orm/SequenceGeneratorsAnnotation.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/orm/SequenceGeneratorsAnnotation.java index 6d82cd5..d8269c0 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/SequenceGeneratorsAnnotation.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/SequenceGeneratorsAnnotation.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm; +package org.hibernate.models.testing.orm; import java.lang.annotation.Annotation; import java.util.Map; @@ -13,7 +13,7 @@ import jakarta.persistence.SequenceGenerator; import jakarta.persistence.SequenceGenerators; -import static org.hibernate.models.orm.JpaAnnotations.SEQUENCE_GENERATORS; +import static org.hibernate.models.testing.orm.JpaAnnotations.SEQUENCE_GENERATORS; /** * @author Steve Ebersole diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/TableAnnotation.java b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/TableAnnotation.java similarity index 96% rename from hibernate-models-testing/src/main/java/org/hibernate/models/orm/TableAnnotation.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/orm/TableAnnotation.java index 4859022..515c5e5 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/TableAnnotation.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/TableAnnotation.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm; +package org.hibernate.models.testing.orm; import java.lang.annotation.Annotation; import java.util.Map; @@ -15,7 +15,7 @@ import jakarta.persistence.UniqueConstraint; import static org.hibernate.models.internal.AnnotationUsageHelper.extractRepeatedValues; -import static org.hibernate.models.orm.JpaAnnotations.TABLE; +import static org.hibernate.models.testing.orm.JpaAnnotations.TABLE; /** * @author Steve Ebersole diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/TransientAnnotation.java b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/TransientAnnotation.java similarity index 94% rename from hibernate-models-testing/src/main/java/org/hibernate/models/orm/TransientAnnotation.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/orm/TransientAnnotation.java index f646588..eaee00d 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/TransientAnnotation.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/TransientAnnotation.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm; +package org.hibernate.models.testing.orm; import java.lang.annotation.Annotation; import java.util.Map; diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/UniqueConstraintAnnotation.java b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/UniqueConstraintAnnotation.java similarity index 97% rename from hibernate-models-testing/src/main/java/org/hibernate/models/orm/UniqueConstraintAnnotation.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/orm/UniqueConstraintAnnotation.java index 26a2a0c..64c5d01 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/orm/UniqueConstraintAnnotation.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/orm/UniqueConstraintAnnotation.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.orm; +package org.hibernate.models.testing.orm; import java.lang.annotation.Annotation; import java.util.Map; diff --git a/hibernate-models/src/test/java/org/hibernate/models/MultiDimensionalArrayTypeTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/MultiDimensionalArrayTypeTests.java similarity index 93% rename from hibernate-models/src/test/java/org/hibernate/models/MultiDimensionalArrayTypeTests.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/MultiDimensionalArrayTypeTests.java index 1eb7a97..cfd7148 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/MultiDimensionalArrayTypeTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/MultiDimensionalArrayTypeTests.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models; +package org.hibernate.models.testing.tests; import org.hibernate.models.internal.ArrayTypeDetailsImpl; import org.hibernate.models.internal.ClassTypeDetailsImpl; @@ -10,6 +10,7 @@ import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.SourceModelBuildingContext; import org.hibernate.models.spi.TypeDetails; +import org.hibernate.models.testing.TestHelper; import org.junit.jupiter.api.Test; @@ -22,7 +23,7 @@ public class MultiDimensionalArrayTypeTests { @Test void testIntegerArrays() { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( + final SourceModelBuildingContext buildingContext = TestHelper.createModelContext( (contributions, ctx) -> { final ClassDetails intDetails = new JdkClassDetails( Integer.class, ctx ); final ClassDetails intArrayDetails = new JdkClassDetails( Integer[].class, ctx ); @@ -53,7 +54,7 @@ void testIntegerArrays() { @Test void testIntArrays() { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( + final SourceModelBuildingContext buildingContext = TestHelper.createModelContext( (contributions, ctx) -> { final ClassDetails intDetails = new JdkClassDetails( int.class, ctx ); final ClassDetails intArrayDetails = new JdkClassDetails( int[].class, ctx ); diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/PackageTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/PackageTests.java similarity index 58% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/PackageTests.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/PackageTests.java index 8cb9afc..14d635b 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/PackageTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/PackageTests.java @@ -2,44 +2,43 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models; +package org.hibernate.models.testing.tests; -import org.hibernate.models.internal.util.StringHelper; -import org.hibernate.models.pkg.CustomAnnotation; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.testing.annotations.pkg.PackageAnnotation; import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; -import static org.hibernate.models.SourceModelTestHelper.createBuildingContext; +import static org.hibernate.models.testing.TestHelper.createModelContext; /** * @author Steve Ebersole */ public class PackageTests { - private static final String PACKAGE_NAME = StringHelper.qualifier( PackageTests.class.getName() ) + ".pkg"; + private static final String PACKAGE_NAME = PackageAnnotation.class.getPackageName(); @Test void testExactReference() { - final SourceModelBuildingContext buildingContext = createBuildingContext(); + final SourceModelBuildingContext buildingContext = createModelContext(); final String packageInfoName = PACKAGE_NAME + ".package-info"; final ClassDetails classDetails = buildingContext .getClassDetailsRegistry() .resolveClassDetails( packageInfoName ); assertThat( classDetails ).isNotNull(); assertThat( classDetails.getClassName() ).endsWith( "package-info" ); - assertThat( classDetails.getAnnotationUsage( CustomAnnotation.class, buildingContext ) ).isNotNull(); + assertThat( classDetails.getAnnotationUsage( PackageAnnotation.class, buildingContext ) ).isNotNull(); } @Test void testPackageReference() { - final SourceModelBuildingContext buildingContext = createBuildingContext(); + final SourceModelBuildingContext buildingContext = createModelContext(); final ClassDetails classDetails = buildingContext .getClassDetailsRegistry() .resolveClassDetails( PACKAGE_NAME ); assertThat( classDetails ).isNotNull(); assertThat( classDetails.getClassName() ).endsWith( "package-info" ); - assertThat( classDetails.getAnnotationUsage( CustomAnnotation.class, buildingContext ) ).isNotNull(); + assertThat( classDetails.getAnnotationUsage( PackageAnnotation.class, buildingContext ) ).isNotNull(); } } diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/RenderingSmokeTest.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/RenderingSmokeTest.java similarity index 77% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/RenderingSmokeTest.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/RenderingSmokeTest.java index 858b388..bba007f 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/RenderingSmokeTest.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/RenderingSmokeTest.java @@ -2,22 +2,21 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models; +package org.hibernate.models.testing.tests; -import org.hibernate.models.annotations.EverythingBagel; -import org.hibernate.models.annotations.Nested; -import org.hibernate.models.annotations.Status; import org.hibernate.models.rendering.internal.RenderingTargetCollectingImpl; import org.hibernate.models.rendering.internal.RenderingTargetStreamImpl; import org.hibernate.models.rendering.internal.SimpleRenderer; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.testing.annotations.EverythingBagel; +import org.hibernate.models.testing.annotations.Nested; +import org.hibernate.models.testing.annotations.Status; +import org.hibernate.models.testing.domain.SimpleEntity; import org.junit.jupiter.api.Test; -import org.jboss.jandex.Index; - -import static org.hibernate.models.SourceModelTestHelper.createBuildingContext; +import static org.hibernate.models.testing.TestHelper.createModelContext; /** * @author Steve Ebersole @@ -25,7 +24,7 @@ public class RenderingSmokeTest { @Test void testStreamRendering1() { - final SourceModelBuildingContext buildingContext = createBuildingContext( (Index) null, SimpleEntity.class ); + final SourceModelBuildingContext buildingContext = createModelContext( SimpleEntity.class ); final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().resolveClassDetails( SimpleEntity.class.getName() ); // simple stdout renderer with default (2) indentation @@ -35,7 +34,7 @@ void testStreamRendering1() { @Test void testStreamRendering2() { - final SourceModelBuildingContext buildingContext = createBuildingContext( (Index) null, SimpleEntity.class ); + final SourceModelBuildingContext buildingContext = createModelContext( SimpleEntity.class ); final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().resolveClassDetails( SimpleEntity.class.getName() ); // simple stdout renderer with specified indentation @@ -45,7 +44,7 @@ void testStreamRendering2() { @Test void testCollectingRendering1() { - final SourceModelBuildingContext buildingContext = createBuildingContext( (org.jboss.jandex.Index) null, SimpleClass.class ); + final SourceModelBuildingContext buildingContext = createModelContext( SimpleClass.class ); final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().resolveClassDetails( SimpleClass.class.getName() ); final RenderingTargetCollectingImpl collectingTarget = new RenderingTargetCollectingImpl(); @@ -57,7 +56,7 @@ void testCollectingRendering1() { @Test void testCollectingRendering2() { - final SourceModelBuildingContext buildingContext = createBuildingContext( (org.jboss.jandex.Index) null, SimpleClass.class ); + final SourceModelBuildingContext buildingContext = createModelContext( SimpleClass.class ); final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().resolveClassDetails( SimpleClass.class.getName() ); final RenderingTargetCollectingImpl collectingTarget = new RenderingTargetCollectingImpl(); @@ -69,7 +68,7 @@ void testCollectingRendering2() { @Test void testCollectingRendering3() { - final SourceModelBuildingContext buildingContext = createBuildingContext( (org.jboss.jandex.Index) null, SimpleClass.class ); + final SourceModelBuildingContext buildingContext = createModelContext( SimpleClass.class ); final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().resolveClassDetails( SimpleClass.class.getName() ); final RenderingTargetCollectingImpl collectingTarget = new RenderingTargetCollectingImpl( 4 ); diff --git a/hibernate-models/src/test/java/org/hibernate/models/SimpleSerializationTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/SimpleSerializationTests.java similarity index 52% rename from hibernate-models/src/test/java/org/hibernate/models/SimpleSerializationTests.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/SimpleSerializationTests.java index 26cb1e9..4ddf45f 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/SimpleSerializationTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/SimpleSerializationTests.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models; +package org.hibernate.models.testing.tests; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; @@ -13,34 +13,33 @@ import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.SourceModelBuildingContext; import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.testing.util.SerializationHelper; import org.junit.jupiter.api.Test; -import static org.assertj.core.api.Assertions.assertThat; +import org.assertj.core.api.Assertions; + import static org.hibernate.models.internal.SimpleClassLoading.SIMPLE_CLASS_LOADING; +import static org.hibernate.models.testing.TestHelper.createModelContext; public class SimpleSerializationTests { - protected SourceModelBuildingContext createModelContext(Class... classes) { - return SourceModelTestHelper.createBuildingContext( classes ); - } - @Test void serializeSimpleClass() { final SourceModelBuildingContext buildingContext = createModelContext( SimpleClass.class ); final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().findClassDetails( SimpleClass.class.getName() ); - assertThat( classDetails ).isNotNull(); + Assertions.assertThat( classDetails ).isNotNull(); final StorableContext serialContext = buildingContext.toStorableForm(); final StorableContext clonedSerialContext = SerializationHelper.clone( serialContext ); - assertThat( serialContext ).isNotSameAs( clonedSerialContext ); + Assertions.assertThat( serialContext ).isNotSameAs( clonedSerialContext ); final SourceModelContext restored = clonedSerialContext.fromStorableForm( SIMPLE_CLASS_LOADING ); - assertThat( buildingContext.getClassDetailsRegistry() ).isNotSameAs( restored.getClassDetailsRegistry() ); - assertThat( buildingContext.getAnnotationDescriptorRegistry() ).isNotSameAs( restored.getAnnotationDescriptorRegistry() ); + Assertions.assertThat( buildingContext.getClassDetailsRegistry() ).isNotSameAs( restored.getClassDetailsRegistry() ); + Assertions.assertThat( buildingContext.getAnnotationDescriptorRegistry() ).isNotSameAs( restored.getAnnotationDescriptorRegistry() ); final ClassDetails restoredClassDetails = restored.getClassDetailsRegistry().findClassDetails( SimpleClass.class.getName() ); - assertThat( restoredClassDetails ).isNotNull(); - assertThat( classDetails ).isNotSameAs( restoredClassDetails ); + Assertions.assertThat( restoredClassDetails ).isNotNull(); + Assertions.assertThat( classDetails ).isNotSameAs( restoredClassDetails ); } @Test @@ -48,25 +47,25 @@ void serializeSimpleClassWithMembers() { final SourceModelBuildingContext buildingContext = createModelContext( SimpleClassWithMembers.class ); final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().findClassDetails( SimpleClassWithMembers.class.getName() ); - assertThat( classDetails ).isNotNull(); - assertThat( classDetails.getFields() ).hasSize( 1 ); - assertThat( classDetails.getMethods() ).hasSize( 3 ); + Assertions.assertThat( classDetails ).isNotNull(); + Assertions.assertThat( classDetails.getFields() ).hasSize( 1 ); + Assertions.assertThat( classDetails.getMethods() ).hasSize( 3 ); final StorableContext serialContext = buildingContext.toStorableForm(); final StorableContext clonedSerialContext = SerializationHelper.clone( serialContext ); - assertThat( serialContext ).isNotSameAs( clonedSerialContext ); + Assertions.assertThat( serialContext ).isNotSameAs( clonedSerialContext ); final SourceModelContext restored = clonedSerialContext.fromStorableForm( SIMPLE_CLASS_LOADING ); - assertThat( buildingContext ).isNotSameAs( restored ); - assertThat( buildingContext.getClassDetailsRegistry() ).isNotSameAs( restored.getClassDetailsRegistry() ); - assertThat( buildingContext.getAnnotationDescriptorRegistry() ).isNotSameAs( restored.getAnnotationDescriptorRegistry() ); + Assertions.assertThat( buildingContext ).isNotSameAs( restored ); + Assertions.assertThat( buildingContext.getClassDetailsRegistry() ).isNotSameAs( restored.getClassDetailsRegistry() ); + Assertions.assertThat( buildingContext.getAnnotationDescriptorRegistry() ).isNotSameAs( restored.getAnnotationDescriptorRegistry() ); final ClassDetails cloneCassDetails = restored.getClassDetailsRegistry().findClassDetails( SimpleClassWithMembers.class.getName() ); - assertThat( cloneCassDetails ).isNotNull(); - assertThat( cloneCassDetails.getFields() ).hasSize( 1 ); - assertThat( cloneCassDetails.getMethods() ).hasSize( 3 ); + Assertions.assertThat( cloneCassDetails ).isNotNull(); + Assertions.assertThat( cloneCassDetails.getFields() ).hasSize( 1 ); + Assertions.assertThat( cloneCassDetails.getMethods() ).hasSize( 3 ); - assertThat( classDetails ).isNotSameAs( cloneCassDetails ); + Assertions.assertThat( classDetails ).isNotSameAs( cloneCassDetails ); } @Test @@ -74,29 +73,29 @@ void serializeSimpleClassWithAnnotations() { final SourceModelBuildingContext buildingContext = createModelContext( SimpleClassWithAnnotations.class ); final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().findClassDetails( SimpleClassWithAnnotations.class.getName() ); - assertThat( classDetails ).isNotNull(); - assertThat( classDetails.getDirectAnnotationUsages() ).hasSize( 1 ); - assertThat( classDetails.getFields() ).hasSize( 1 ); - assertThat( classDetails.getFields().iterator().next().getDirectAnnotationUsages() ).hasSize( 1 ); - assertThat( classDetails.getMethods() ).hasSize( 1 ); - assertThat( classDetails.getMethods().iterator().next().getDirectAnnotationUsages() ).hasSize( 1 ); + Assertions.assertThat( classDetails ).isNotNull(); + Assertions.assertThat( classDetails.getDirectAnnotationUsages() ).hasSize( 1 ); + Assertions.assertThat( classDetails.getFields() ).hasSize( 1 ); + Assertions.assertThat( classDetails.getFields().iterator().next().getDirectAnnotationUsages() ).hasSize( 1 ); + Assertions.assertThat( classDetails.getMethods() ).hasSize( 1 ); + Assertions.assertThat( classDetails.getMethods().iterator().next().getDirectAnnotationUsages() ).hasSize( 1 ); final StorableContext serialContext = buildingContext.toStorableForm(); final StorableContext clonedSerialContext = SerializationHelper.clone( serialContext ); - assertThat( serialContext ).isNotSameAs( clonedSerialContext ); + Assertions.assertThat( serialContext ).isNotSameAs( clonedSerialContext ); final SourceModelContext restored = clonedSerialContext.fromStorableForm( SIMPLE_CLASS_LOADING ); - assertThat( buildingContext ).isNotSameAs( restored ); - assertThat( buildingContext.getClassDetailsRegistry() ).isNotSameAs( restored.getClassDetailsRegistry() ); - assertThat( buildingContext.getAnnotationDescriptorRegistry() ).isNotSameAs( restored.getAnnotationDescriptorRegistry() ); + Assertions.assertThat( buildingContext ).isNotSameAs( restored ); + Assertions.assertThat( buildingContext.getClassDetailsRegistry() ).isNotSameAs( restored.getClassDetailsRegistry() ); + Assertions.assertThat( buildingContext.getAnnotationDescriptorRegistry() ).isNotSameAs( restored.getAnnotationDescriptorRegistry() ); final ClassDetails cloneCassDetails = restored.getClassDetailsRegistry().findClassDetails( SimpleClassWithAnnotations.class.getName() ); - assertThat( classDetails ).isNotSameAs( cloneCassDetails ); - assertThat( cloneCassDetails.getDirectAnnotationUsages() ).hasSize( 1 ); - assertThat( cloneCassDetails.getFields() ).hasSize( 1 ); - assertThat( cloneCassDetails.getFields().iterator().next().getDirectAnnotationUsages() ).hasSize( 1 ); - assertThat( cloneCassDetails.getMethods() ).hasSize( 1 ); - assertThat( cloneCassDetails.getMethods().iterator().next().getDirectAnnotationUsages() ).hasSize( 1 ); + Assertions.assertThat( classDetails ).isNotSameAs( cloneCassDetails ); + Assertions.assertThat( cloneCassDetails.getDirectAnnotationUsages() ).hasSize( 1 ); + Assertions.assertThat( cloneCassDetails.getFields() ).hasSize( 1 ); + Assertions.assertThat( cloneCassDetails.getFields().iterator().next().getDirectAnnotationUsages() ).hasSize( 1 ); + Assertions.assertThat( cloneCassDetails.getMethods() ).hasSize( 1 ); + Assertions.assertThat( cloneCassDetails.getMethods().iterator().next().getDirectAnnotationUsages() ).hasSize( 1 ); } public static class SimpleClass { diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/AnnotationCycleTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/AnnotationCycleTests.java similarity index 75% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/AnnotationCycleTests.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/AnnotationCycleTests.java index b8e937c..a842995 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/AnnotationCycleTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/AnnotationCycleTests.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.annotations; +package org.hibernate.models.testing.tests.annotations; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; @@ -17,28 +17,16 @@ import org.junit.jupiter.api.Test; -import org.jboss.jandex.Index; - import static org.assertj.core.api.Assertions.assertThat; -import static org.hibernate.models.SourceModelTestHelper.buildJandexIndex; -import static org.hibernate.models.SourceModelTestHelper.createBuildingContext; +import static org.hibernate.models.testing.TestHelper.createModelContext; /** * @author Steve Ebersole */ public class AnnotationCycleTests { @Test - void testWithJandex() { - testAnnotationCycle( buildJandexIndex( SimpleClass.class ) ); - } - - @Test - void testWithoutJandex() { - testAnnotationCycle( null ); - } - - private void testAnnotationCycle(Index jandexIndex) { - final SourceModelBuildingContext buildingContext = createBuildingContext( jandexIndex, SimpleClass.class ); + public void testAnnotationCycle() { + final SourceModelBuildingContext buildingContext = createModelContext( SimpleClass.class ); final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); final AnnotationDescriptorRegistry descriptorRegistry = buildingContext.getAnnotationDescriptorRegistry(); diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/AnnotationReplacementTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/AnnotationReplacementTests.java similarity index 72% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/AnnotationReplacementTests.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/AnnotationReplacementTests.java index ab38d77..cbe2ddc 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/AnnotationReplacementTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/AnnotationReplacementTests.java @@ -2,42 +2,30 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.annotations; +package org.hibernate.models.testing.tests.annotations; -import org.hibernate.models.SimpleEntity; -import org.hibernate.models.orm.JpaAnnotations; -import org.hibernate.models.orm.SecondaryTableAnnotation; -import org.hibernate.models.orm.SecondaryTablesAnnotation; import org.hibernate.models.spi.MutableClassDetails; import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.testing.domain.SimpleEntity; +import org.hibernate.models.testing.orm.JpaAnnotations; +import org.hibernate.models.testing.orm.SecondaryTableAnnotation; +import org.hibernate.models.testing.orm.SecondaryTablesAnnotation; import org.junit.jupiter.api.Test; -import org.jboss.jandex.Index; - import jakarta.persistence.SecondaryTable; import jakarta.persistence.SecondaryTables; import static org.assertj.core.api.Assertions.assertThat; -import static org.hibernate.models.SourceModelTestHelper.buildJandexIndex; -import static org.hibernate.models.SourceModelTestHelper.createBuildingContext; +import static org.hibernate.models.testing.TestHelper.createModelContext; /** * @author Steve Ebersole */ public class AnnotationReplacementTests { @Test - void testBasicReplacementWithJandex() { - basicReplacementChecks( buildJandexIndex( SimpleEntity.class ) ); - } - - @Test - void testBasicReplacementWithoutJandex() { - basicReplacementChecks( null ); - } - - void basicReplacementChecks(Index index) { - final SourceModelBuildingContext buildingContext = createBuildingContext( index, SimpleEntity.class ); + void testBasicReplacement() { + final SourceModelBuildingContext buildingContext = createModelContext( SimpleEntity.class ); final MutableClassDetails classDetails = (MutableClassDetails) buildingContext.getClassDetailsRegistry().getClassDetails( SimpleEntity.class.getName() ); assertThat( classDetails.hasDirectAnnotationUsage( SecondaryTable.class ) ).isTrue(); diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/AnnotationUsageTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/AnnotationUsageTests.java similarity index 74% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/AnnotationUsageTests.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/AnnotationUsageTests.java index e477314..9b185b5 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/AnnotationUsageTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/AnnotationUsageTests.java @@ -2,28 +2,28 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.annotations; +package org.hibernate.models.testing.tests.annotations; import java.lang.reflect.Proxy; import org.hibernate.models.AnnotationAccessException; -import org.hibernate.models.MutableInteger; -import org.hibernate.models.SimpleEntity; -import org.hibernate.models.orm.EntityAnnotation; -import org.hibernate.models.orm.JpaAnnotations; -import org.hibernate.models.orm.NamedQueryAnnotation; -import org.hibernate.models.orm.SecondaryTableAnnotation; -import org.hibernate.models.orm.TableAnnotation; import org.hibernate.models.spi.AnnotationDescriptor; import org.hibernate.models.spi.AnnotationDescriptorRegistry; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassDetailsRegistry; import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.testing.annotations.CustomAnnotation; +import org.hibernate.models.testing.annotations.CustomMetaAnnotation; +import org.hibernate.models.testing.domain.SimpleEntity; +import org.hibernate.models.testing.orm.EntityAnnotation; +import org.hibernate.models.testing.orm.JpaAnnotations; +import org.hibernate.models.testing.orm.NamedQueryAnnotation; +import org.hibernate.models.testing.orm.SecondaryTableAnnotation; +import org.hibernate.models.testing.orm.TableAnnotation; +import org.hibernate.models.testing.util.MutableInteger; import org.junit.jupiter.api.Test; -import org.jboss.jandex.Index; - import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.NamedQueries; @@ -34,8 +34,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.fail; -import static org.hibernate.models.SourceModelTestHelper.buildJandexIndex; -import static org.hibernate.models.SourceModelTestHelper.createBuildingContext; +import static org.hibernate.models.testing.TestHelper.createModelContext; /** * Even though there are tons of annotations we need to look at, these descriptors @@ -46,17 +45,8 @@ */ public class AnnotationUsageTests { @Test - void testBasicUsageWithJandex() { - basicUsageChecks( buildJandexIndex( SimpleEntity.class ) ); - } - - @Test - void testBasicUsageWithoutJandex() { - basicUsageChecks( null ); - } - - void basicUsageChecks(Index index) { - final SourceModelBuildingContext buildingContext = createBuildingContext( index, SimpleEntity.class ); + void testBasicUsage() { + final SourceModelBuildingContext buildingContext = createModelContext( SimpleEntity.class ); final AnnotationDescriptorRegistry descriptorRegistry = buildingContext.getAnnotationDescriptorRegistry(); final AnnotationDescriptor descriptor = descriptorRegistry.getDescriptor( CustomAnnotation.class ); @@ -83,27 +73,18 @@ void basicUsageChecks(Index index) { assertThat( tableUsage ).isInstanceOf( TableAnnotation.class ); final SecondaryTable secondaryTableUsage = classDetails.getDirectAnnotationUsage( SecondaryTable.class ); - assertThat( secondaryTableUsage ).isInstanceOf( SecondaryTableAnnotation.class ); + assertThat( secondaryTableUsage ).isInstanceOf( SecondaryTableAnnotation .class ); assertThat( classDetails.getDirectAnnotationUsage( NamedQuery.class ) ).isNull(); final NamedQuery[] namedQueryUsages = classDetails.getRepeatedAnnotationUsages( NamedQuery.class, buildingContext ); assertThat( namedQueryUsages ).hasSize( 2 ); - assertThat( namedQueryUsages[0] ).isInstanceOf( NamedQueryAnnotation.class ); + assertThat( namedQueryUsages[0] ).isInstanceOf( NamedQueryAnnotation .class ); assertThat( namedQueryUsages[1] ).isInstanceOf( NamedQueryAnnotation.class ); } @Test - void testUsageMutationWithJandex() { - usageMutationChecks( buildJandexIndex( SimpleEntity.class ) ); - } - - @Test - void testUsageMutationWithoutJandex() { - usageMutationChecks( null ); - } - - private void usageMutationChecks(Index index) { - final SourceModelBuildingContext buildingContext = createBuildingContext( index, SimpleEntity.class ); + void testUsageMutation() { + final SourceModelBuildingContext buildingContext = createModelContext( SimpleEntity.class ); final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); final ClassDetails classDetails = classDetailsRegistry.getClassDetails( SimpleEntity.class.getName() ); final EntityAnnotation entityAnn = (EntityAnnotation) classDetails.getAnnotationUsage( Entity.class, buildingContext ); @@ -112,17 +93,8 @@ private void usageMutationChecks(Index index) { } @Test - void testBaselineWithJandex() { - baselineChecks( buildJandexIndex( SimpleEntity.class ) ); - } - - @Test - void testBaselineWithoutJandex() { - baselineChecks( null ); - } - - void baselineChecks(Index index) { - final SourceModelBuildingContext buildingContext = createBuildingContext( index, SimpleEntity.class ); + void testBaseline() { + final SourceModelBuildingContext buildingContext = createModelContext( SimpleEntity.class ); final AnnotationDescriptorRegistry descriptorRegistry = buildingContext.getAnnotationDescriptorRegistry(); final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); @@ -147,17 +119,8 @@ void baselineChecks(Index index) { } @Test - void testCompositionsWithJandex() { - compositionChecks( buildJandexIndex( SimpleEntity.class ) ); - } - - @Test - void testCompositionsWithoutJandex() { - compositionChecks( null ); - } - - private void compositionChecks(Index index) { - final SourceModelBuildingContext buildingContext = createBuildingContext( index, SimpleEntity.class ); + void testCompositions() { + final SourceModelBuildingContext buildingContext = createModelContext( SimpleEntity.class ); final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); final ClassDetails classDetails = classDetailsRegistry.getClassDetails( SimpleEntity.class.getName() ); @@ -172,7 +135,7 @@ private void compositionChecks(Index index) { @Test void testDynamicAttributeCreation() { - final SourceModelBuildingContext buildingContext = createBuildingContext( (Index) null, SimpleEntity.class ); + final SourceModelBuildingContext buildingContext = createModelContext( SimpleEntity.class ); final Column usage = JpaAnnotations.COLUMN.createUsage( buildingContext ); // check the attribute defaults assertThat( usage.name() ).isEqualTo( "" ); @@ -191,17 +154,8 @@ void testDynamicAttributeCreation() { } @Test - void testNamedAnnotationAccessWithJandex() { - namedAnnotationAccessChecks( buildJandexIndex( SimpleEntity.class ) ); - } - - @Test - void testNamedAnnotationAccessWithoutJandex() { - namedAnnotationAccessChecks( null ); - } - - void namedAnnotationAccessChecks(Index index) { - final SourceModelBuildingContext buildingContext = createBuildingContext( index, SimpleEntity.class ); + void testNamedAnnotationAccess() { + final SourceModelBuildingContext buildingContext = createModelContext( SimpleEntity.class ); final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); final ClassDetails entityClassDetails = classDetailsRegistry.getClassDetails( SimpleEntity.class.getName() ); @@ -215,17 +169,8 @@ void namedAnnotationAccessChecks(Index index) { } @Test - void testFromAnnotationsWithJandex() { - testFromAnnotations( buildJandexIndex( SimpleEntity.class ) ); - } - - @Test - void testFromAnnotationsWithoutJandex() { - testFromAnnotations( null ); - } - - void testFromAnnotations(Index index) { - final SourceModelBuildingContext buildingContext = createBuildingContext( index, SimpleEntity.class ); + void testFromAnnotations() { + final SourceModelBuildingContext buildingContext = createModelContext( SimpleEntity.class ); final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); final ClassDetails classDetails = classDetailsRegistry.getClassDetails( SimpleEntity.class.getName() ); @@ -271,17 +216,8 @@ void testFromAnnotations(Index index) { } @Test - void testHasAnnotationWithJandex() { - testHasAnnotation( buildJandexIndex( SimpleEntity.class ) ); - } - - @Test - void testHasAnnotationWithoutJandex() { - testHasAnnotation( null ); - } - - void testHasAnnotation(Index index) { - final SourceModelBuildingContext buildingContext = createBuildingContext( index, SimpleEntity.class ); + void testHasAnnotation() { + final SourceModelBuildingContext buildingContext = createModelContext( SimpleEntity.class ); final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); final ClassDetails classDetails = classDetailsRegistry.getClassDetails( SimpleEntity.class.getName() ); @@ -300,17 +236,8 @@ void testHasAnnotation(Index index) { } @Test - void testForEachAnnotationWithJandex() { - testForEachAnnotation( buildJandexIndex( SimpleEntity.class ) ); - } - - @Test - void testForEachAnnotationWithoutJandex() { - testForEachAnnotation( null ); - } - - void testForEachAnnotation(Index index) { - final SourceModelBuildingContext buildingContext = createBuildingContext( index, SimpleEntity.class ); + void testForEachAnnotation() { + final SourceModelBuildingContext buildingContext = createModelContext( SimpleEntity.class ); final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); final ClassDetails classDetails = classDetailsRegistry.getClassDetails( SimpleEntity.class.getName() ); @@ -330,17 +257,8 @@ void testForEachAnnotation(Index index) { } @Test - void testGetSingleUsageWithJandex() { - testGetSingleUsage( buildJandexIndex( SimpleEntity.class ) ); - } - - @Test - void testGetSingleUsageWithoutJandex() { - testGetSingleUsage( null ); - } - - void testGetSingleUsage(Index index) { - final SourceModelBuildingContext buildingContext = createBuildingContext( index, SimpleEntity.class ); + void testGetSingleUsageW() { + final SourceModelBuildingContext buildingContext = createModelContext( SimpleEntity.class ); final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); final ClassDetails classDetails = classDetailsRegistry.getClassDetails( SimpleEntity.class.getName() ); diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/AttributeAccessTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/AttributeAccessTests.java similarity index 81% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/AttributeAccessTests.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/AttributeAccessTests.java index 7997025..f180d38 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/AttributeAccessTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/AttributeAccessTests.java @@ -2,17 +2,18 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.annotations; +package org.hibernate.models.testing.tests.annotations; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.testing.annotations.EverythingBagel; +import org.hibernate.models.testing.annotations.Nested; +import org.hibernate.models.testing.annotations.Status; import org.junit.jupiter.api.Test; -import org.jboss.jandex.Index; - import static org.assertj.core.api.Assertions.assertThat; -import static org.hibernate.models.SourceModelTestHelper.createBuildingContext; +import static org.hibernate.models.testing.TestHelper.createModelContext; /** * @author Steve Ebersole @@ -20,7 +21,7 @@ public class AttributeAccessTests { @Test void testAttributeAccess() { - final SourceModelBuildingContext buildingContext = createBuildingContext( (Index) null, TheClass.class ); + final SourceModelBuildingContext buildingContext = createModelContext( TheClass.class ); final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().getClassDetails( TheClass.class.getName() ); final EverythingBagel annotationUsage = classDetails.getAnnotationUsage( EverythingBagel.class, buildingContext ); diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/MapKeyTest.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/MapKeyTest.java similarity index 79% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/MapKeyTest.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/MapKeyTest.java index aeb6e7b..9fd7c8d 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/MapKeyTest.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/MapKeyTest.java @@ -2,12 +2,11 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.annotations; +package org.hibernate.models.testing.tests.annotations; import java.util.Date; import java.util.Map; -import org.hibernate.models.SourceModelTestHelper; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.FieldDetails; import org.hibernate.models.spi.SourceModelBuildingContext; @@ -15,8 +14,6 @@ import org.junit.jupiter.api.Test; -import org.jboss.jandex.Index; - import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.MapKeyClass; @@ -26,26 +23,13 @@ import jakarta.persistence.TemporalType; import static org.assertj.core.api.Assertions.assertThat; +import static org.hibernate.models.testing.TestHelper.createModelContext; public class MapKeyTest { @Test - void testWithJandex() { - final Index index = SourceModelTestHelper.buildJandexIndex( - School.class, - Person.class - ); - testFieldsAreResolved( index ); - } - - @Test - void testWithoutJandex() { - testFieldsAreResolved( null ); - } - - void testFieldsAreResolved(Index index) { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - index, + void testFieldsAreResolved() { + final SourceModelBuildingContext buildingContext = createModelContext( School.class, Person.class ); diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/NestedAnnotationTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/NestedAnnotationTests.java similarity index 78% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/NestedAnnotationTests.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/NestedAnnotationTests.java index 59744a4..406eebc 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/NestedAnnotationTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/NestedAnnotationTests.java @@ -2,19 +2,15 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.annotations; +package org.hibernate.models.testing.tests.annotations; import java.lang.reflect.Proxy; -import org.hibernate.models.SourceModelTestHelper; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.SourceModelBuildingContext; import org.junit.jupiter.api.Test; -import org.jboss.jandex.Index; -import org.jboss.jandex.IndexView; - import jakarta.persistence.Entity; import jakarta.persistence.ForeignKey; import jakarta.persistence.Id; @@ -24,6 +20,7 @@ import static jakarta.persistence.ConstraintMode.NO_CONSTRAINT; import static org.assertj.core.api.Assertions.assertThat; +import static org.hibernate.models.testing.TestHelper.createModelContext; /** * @author Steve Ebersole @@ -33,20 +30,8 @@ public class NestedAnnotationTests { public static final String JOIN_COLUMN_NAME = "person_fk"; @Test - void testNestedAnnotationsNotProxyWithJandex() { - final Index index = SourceModelTestHelper.buildJandexIndex(Person.class); - testNestedAnnotationsNotProxy(index); - } - @Test - void testNestedAnnotationsNotProxyWithoutJandex() { - testNestedAnnotationsNotProxy(null); - } - - void testNestedAnnotationsNotProxy(IndexView jandexIndex) { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - jandexIndex, - Person.class - ); + void testNestedAnnotationsNotProxy() { + final SourceModelBuildingContext buildingContext = createModelContext( Person.class ); final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().getClassDetails( Person.class.getName() ); final SecondaryTable secondaryTable = classDetails.getDirectAnnotationUsage( SecondaryTable.class ); diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/RepeatableUsageTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/RepeatableUsageTests.java similarity index 90% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/RepeatableUsageTests.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/RepeatableUsageTests.java index 7a7cbc8..83c78a2 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/RepeatableUsageTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/RepeatableUsageTests.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.annotations; +package org.hibernate.models.testing.tests.annotations; import java.lang.reflect.Modifier; @@ -12,15 +12,12 @@ import org.junit.jupiter.api.Test; -import org.jboss.jandex.Index; - import jakarta.persistence.NamedQueries; import jakarta.persistence.NamedQuery; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Fail.fail; -import static org.hibernate.models.SourceModelTestHelper.buildJandexIndex; -import static org.hibernate.models.SourceModelTestHelper.createBuildingContext; +import static org.hibernate.models.testing.TestHelper.createModelContext; /** * @author Steve Ebersole @@ -35,7 +32,7 @@ void testModifiers() { } @Test - void baseline() { + void testBaseline() { final NamedQuery query = Thing4.class.getAnnotation( NamedQuery.class ); final NamedQueries queries = Thing4.class.getAnnotation( NamedQueries.class ); assertThat( query ).isNotNull(); @@ -44,18 +41,8 @@ void baseline() { } @Test - void testWithJandex() { - verify( buildJandexIndex( Thing1.class, Thing2.class, Thing3.class, Thing4.class ) ); - } - - @Test - void testWithoutJandex() { - verify( null ); - } - - private void verify(Index jandexIndex) { - final SourceModelBuildingContext buildingContext = createBuildingContext( - jandexIndex, + void testRepeatableUsage() { + final SourceModelBuildingContext buildingContext = createModelContext( Thing1.class, Thing2.class, Thing3.class, diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/SelfReferenceTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/SelfReferenceTests.java similarity index 69% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/SelfReferenceTests.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/SelfReferenceTests.java index a12d6b3..4783dc4 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/SelfReferenceTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/SelfReferenceTests.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.annotations; +package org.hibernate.models.testing.tests.annotations; import org.hibernate.models.spi.AnnotationDescriptor; import org.hibernate.models.spi.AnnotationDescriptorRegistry; @@ -12,11 +12,8 @@ import org.junit.jupiter.api.Test; -import org.jboss.jandex.IndexView; - import static org.assertj.core.api.Assertions.assertThat; -import static org.hibernate.models.SourceModelTestHelper.buildJandexIndex; -import static org.hibernate.models.SourceModelTestHelper.createBuildingContext; +import static org.hibernate.models.testing.TestHelper.createModelContext; /** * Tests for annotations that use themselves @@ -25,17 +22,8 @@ */ public class SelfReferenceTests { @Test - void testWithJandex() { - testSelfReferencingAnnotation( buildJandexIndex( SimpleClass.class ) ); - } - - @Test - void testWithoutJandex() { - testSelfReferencingAnnotation( null ); - } - - private void testSelfReferencingAnnotation(IndexView jandexIndex) { - final SourceModelBuildingContext buildingContext = createBuildingContext( jandexIndex, SimpleClass.class ); + void testSelfReferencingAnnotation() { + final SourceModelBuildingContext buildingContext = createModelContext( SimpleClass.class ); final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); final AnnotationDescriptorRegistry descriptorRegistry = buildingContext.getAnnotationDescriptorRegistry(); diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/SelfReferencingAnnotation.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/SelfReferencingAnnotation.java similarity index 88% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/SelfReferencingAnnotation.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/SelfReferencingAnnotation.java index 752423f..12c2703 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/SelfReferencingAnnotation.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/SelfReferencingAnnotation.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.annotations; +package org.hibernate.models.testing.tests.annotations; import java.lang.annotation.ElementType; import java.lang.annotation.RetentionPolicy; diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/TargetSafeCastingTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/TargetSafeCastingTests.java similarity index 86% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/TargetSafeCastingTests.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/TargetSafeCastingTests.java index a20708f..b7d1ad1 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/TargetSafeCastingTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/TargetSafeCastingTests.java @@ -2,26 +2,23 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.annotations; +package org.hibernate.models.testing.tests.annotations; import java.lang.annotation.Annotation; import org.hibernate.models.IllegalCastException; -import org.hibernate.models.SimpleEntity; -import org.hibernate.models.orm.JpaAnnotations; import org.hibernate.models.spi.AnnotationDescriptor; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.FieldDetails; import org.hibernate.models.spi.MethodDetails; import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.testing.domain.SimpleEntity; +import org.hibernate.models.testing.orm.JpaAnnotations; import org.junit.jupiter.api.Test; -import org.jboss.jandex.Index; - import static org.assertj.core.api.Assertions.assertThat; -import static org.hibernate.models.SourceModelTestHelper.buildJandexIndex; -import static org.hibernate.models.SourceModelTestHelper.createBuildingContext; +import static org.hibernate.models.testing.TestHelper.createModelContext; import static org.junit.jupiter.api.Assertions.fail; /** @@ -29,16 +26,8 @@ */ public class TargetSafeCastingTests { @Test - void testSafeCastingWithJandex() { - safeCastingTests( buildJandexIndex( SimpleEntity.class ) ); - } - @Test - void testSafeCastingWithoutJandex() { - safeCastingTests( null ); - } - - void safeCastingTests(Index jandexIndex) { - final SourceModelBuildingContext buildingContext = createBuildingContext( jandexIndex, SimpleEntity.class ); + public void testSafeCasting() { + final SourceModelBuildingContext buildingContext = createModelContext( SimpleEntity.class ); checkCasting( JpaAnnotations.ID ); diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/target/AnnotationTargetTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/AnnotationTargetTests.java similarity index 76% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/target/AnnotationTargetTests.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/AnnotationTargetTests.java index 63106d6..b79082e 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/target/AnnotationTargetTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/AnnotationTargetTests.java @@ -2,42 +2,29 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.annotations.target; +package org.hibernate.models.testing.tests.annotations.target; -import org.hibernate.models.annotations.target.sub.SubNoGeneratorEntity; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassDetailsRegistry; import org.hibernate.models.spi.FieldDetails; import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.testing.tests.annotations.target.sub.SubNoGeneratorEntity; import org.junit.jupiter.api.Test; -import org.jboss.jandex.Index; -import org.jboss.jandex.IndexView; - import static org.assertj.core.api.AssertionsForClassTypes.assertThat; -import static org.hibernate.models.SourceModelTestHelper.buildJandexIndex; -import static org.hibernate.models.SourceModelTestHelper.createBuildingContext; +import static org.hibernate.models.testing.TestHelper.createModelContext; /** * @author Steve Ebersole */ public class AnnotationTargetTests { - @Test - void testPackageDefinedWithJandex() { - testPackageDefined( buildJandexIndex( NoGeneratorEntity.class ) ); - } - - @Test - void testPackageDefinedWithoutJandex() { - testPackageDefined( null ); - } - /** * We should find the annotation on the package */ - void testPackageDefined(IndexView jandexIndex) { - final SourceModelBuildingContext buildingContext = createBuildingContext( jandexIndex, NoGeneratorEntity.class ); + @Test + void testPackageDefined() { + final SourceModelBuildingContext buildingContext = createModelContext( NoGeneratorEntity.class ); final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); final ClassDetails entityClass = classDetailsRegistry.getClassDetails( NoGeneratorEntity.class.getName() ); @@ -59,17 +46,8 @@ void testPackageDefined(IndexView jandexIndex) { } @Test - void testClassDefinedWithJandex() { - testClassDefined( buildJandexIndex( ClassGeneratorEntity.class ) ); - } - - @Test - void testClassDefinedWithoutJandex() { - testClassDefined( null ); - } - - private void testClassDefined(Index jandexIndex) { - final SourceModelBuildingContext buildingContext = createBuildingContext( jandexIndex, ClassGeneratorEntity.class ); + void testClassDefined() { + final SourceModelBuildingContext buildingContext = createModelContext( ClassGeneratorEntity.class ); final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); final ClassDetails entityClass = classDetailsRegistry.getClassDetails( ClassGeneratorEntity.class.getName() ); @@ -89,17 +67,8 @@ private void testClassDefined(Index jandexIndex) { } @Test - void testMemberDefinedWithJandex() { - testMemberDefined( buildJandexIndex( MemberGeneratorEntity.class ) ); - } - - @Test - void testMemberDefinedWithoutJandex() { - testMemberDefined( null ); - } - - private void testMemberDefined(Index jandexIndex) { - final SourceModelBuildingContext buildingContext = createBuildingContext( jandexIndex, MemberGeneratorEntity.class ); + void testMemberDefined() { + final SourceModelBuildingContext buildingContext = createModelContext( MemberGeneratorEntity.class ); final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); final ClassDetails entityClass = classDetailsRegistry.getClassDetails( MemberGeneratorEntity.class.getName() ); @@ -119,19 +88,8 @@ private void testMemberDefined(Index jandexIndex) { } @Test - void testUpPackageDefinedWithJandex() { - testUpPackageDefined( buildJandexIndex( SubNoGeneratorEntity.class ) ); - } - - @Test - void testUpPackageDefinedWithoutJandex() { - testUpPackageDefined( null ); - } - - /** - */ - void testUpPackageDefined(IndexView jandexIndex) { - final SourceModelBuildingContext buildingContext = createBuildingContext( jandexIndex, SubNoGeneratorEntity.class ); + void testUpPackageDefined() { + final SourceModelBuildingContext buildingContext = createModelContext( SubNoGeneratorEntity.class ); final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); final ClassDetails entityClass = classDetailsRegistry.getClassDetails( SubNoGeneratorEntity.class.getName() ); diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/target/ClassGeneratorEntity.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/ClassGeneratorEntity.java similarity index 79% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/target/ClassGeneratorEntity.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/ClassGeneratorEntity.java index 4ce893a..0f85254 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/target/ClassGeneratorEntity.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/ClassGeneratorEntity.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.annotations.target; +package org.hibernate.models.testing.tests.annotations.target; /** * @author Steve Ebersole diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/target/FromContainersTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/FromContainersTests.java similarity index 73% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/target/FromContainersTests.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/FromContainersTests.java index e67424e..fece52a 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/target/FromContainersTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/FromContainersTests.java @@ -2,39 +2,26 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.annotations.target; +package org.hibernate.models.testing.tests.annotations.target; -import org.hibernate.models.annotations.target.sub.SubNoGeneratorEntity; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassDetailsRegistry; import org.hibernate.models.spi.FieldDetails; import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.testing.tests.annotations.target.sub.SubNoGeneratorEntity; import org.junit.jupiter.api.Test; -import org.jboss.jandex.Index; - - import static org.assertj.core.api.Assertions.assertThat; -import static org.hibernate.models.SourceModelTestHelper.buildJandexIndex; -import static org.hibernate.models.SourceModelTestHelper.createBuildingContext; +import static org.hibernate.models.testing.TestHelper.createModelContext; /** * @author Steve Ebersole */ public class FromContainersTests { @Test - void testNoGeneratorWithJandex() { - testNoGenerator( buildJandexIndex( NoGeneratorEntity.class ) ); - } - - @Test - void testNoGeneratorWithoutJandex() { - testNoGenerator( null ); - } - - private void testNoGenerator(Index jandexIndex) { - final SourceModelBuildingContext buildingContext = createBuildingContext( jandexIndex, NoGeneratorEntity.class ); + void testNoGenerator() { + final SourceModelBuildingContext buildingContext = createModelContext( NoGeneratorEntity.class ); final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); final ClassDetails entityClass = classDetailsRegistry.getClassDetails( NoGeneratorEntity.class.getName() ); @@ -60,17 +47,8 @@ private void testNoGenerator(Index jandexIndex) { } @Test - void testClassDefinedWithJandex() { - testClassDefined( buildJandexIndex( ClassGeneratorEntity.class ) ); - } - - @Test - void testClassDefinedWithoutJandex() { - testClassDefined( null ); - } - - private void testClassDefined(Index jandexIndex) { - final SourceModelBuildingContext buildingContext = createBuildingContext( jandexIndex, ClassGeneratorEntity.class ); + void testClassDefined() { + final SourceModelBuildingContext buildingContext = createModelContext( ClassGeneratorEntity.class ); final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); final ClassDetails entityClass = classDetailsRegistry.getClassDetails( ClassGeneratorEntity.class.getName() ); @@ -94,17 +72,8 @@ private void testClassDefined(Index jandexIndex) { } @Test - void testMemberDefinedWithJandex() { - testMemberDefined( buildJandexIndex( MemberGeneratorEntity.class ) ); - } - - @Test - void testMemberDefinedWithoutJandex() { - testMemberDefined( null ); - } - - private void testMemberDefined(Index jandexIndex) { - final SourceModelBuildingContext buildingContext = createBuildingContext( jandexIndex, MemberGeneratorEntity.class ); + void testMemberDefined() { + final SourceModelBuildingContext buildingContext = createModelContext( MemberGeneratorEntity.class ); final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); final ClassDetails entityClass = classDetailsRegistry.getClassDetails( MemberGeneratorEntity.class.getName() ); @@ -128,17 +97,8 @@ private void testMemberDefined(Index jandexIndex) { } @Test - void testUpPackageDefinedWithJandex() { - testUpPackageDefined( buildJandexIndex( SubNoGeneratorEntity.class ) ); - } - - @Test - void testUpPackageDefinedWithoutJandex() { - testUpPackageDefined( null ); - } - - private void testUpPackageDefined(Index jandexIndex) { - final SourceModelBuildingContext buildingContext = createBuildingContext( jandexIndex, SubNoGeneratorEntity.class ); + void testUpPackageDefined() { + final SourceModelBuildingContext buildingContext = createModelContext( SubNoGeneratorEntity.class ); final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); final ClassDetails entityClass = classDetailsRegistry.getClassDetails( SubNoGeneratorEntity.class.getName() ); diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/target/GeneratorAnnotation.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/GeneratorAnnotation.java similarity index 90% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/target/GeneratorAnnotation.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/GeneratorAnnotation.java index d352d35..7373d96 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/target/GeneratorAnnotation.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/GeneratorAnnotation.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.annotations.target; +package org.hibernate.models.testing.tests.annotations.target; import java.lang.annotation.ElementType; import java.lang.annotation.RetentionPolicy; diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/target/MemberGeneratorEntity.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/MemberGeneratorEntity.java similarity index 79% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/target/MemberGeneratorEntity.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/MemberGeneratorEntity.java index 6383495..8b67fa6 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/target/MemberGeneratorEntity.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/MemberGeneratorEntity.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.annotations.target; +package org.hibernate.models.testing.tests.annotations.target; /** * @author Steve Ebersole diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/target/NoGeneratorEntity.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/NoGeneratorEntity.java similarity index 80% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/target/NoGeneratorEntity.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/NoGeneratorEntity.java index ca8e838..bcb0c0a 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/target/NoGeneratorEntity.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/NoGeneratorEntity.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.annotations.target; +package org.hibernate.models.testing.tests.annotations.target; /** * Models an entity where we should get the generator from the package diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/target/WalkContainerTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/WalkContainerTests.java similarity index 57% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/target/WalkContainerTests.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/WalkContainerTests.java index b228979..02c4388 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/target/WalkContainerTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/WalkContainerTests.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.annotations.target; +package org.hibernate.models.testing.tests.annotations.target; import java.util.ArrayList; import java.util.List; @@ -15,11 +15,8 @@ import org.junit.jupiter.api.Test; -import org.jboss.jandex.Index; - import static org.assertj.core.api.Assertions.assertThat; -import static org.hibernate.models.SourceModelTestHelper.buildJandexIndex; -import static org.hibernate.models.SourceModelTestHelper.createBuildingContext; +import static org.hibernate.models.testing.TestHelper.createModelContext; /** * NOTE : the actual placement of annotations is irrelevant for these test - we are simply walking containers @@ -28,17 +25,8 @@ */ public class WalkContainerTests { @Test - void testNoPackageCrossingWithJandex() { - testNoPackageCrossing( buildJandexIndex( NoGeneratorEntity.class ) ); - } - - @Test - void testNoPackageCrossingWithoutJandex() { - testNoPackageCrossing( null ); - } - - private void testNoPackageCrossing(Index jandexIndex) { - final SourceModelBuildingContext buildingContext = createBuildingContext( jandexIndex, NoGeneratorEntity.class ); + void testNoPackageCrossing() { + final SourceModelBuildingContext buildingContext = createModelContext( NoGeneratorEntity.class ); final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); final List collected = new ArrayList<>(); @@ -56,44 +44,39 @@ private void testNoPackageCrossing(Index jandexIndex) { assertThat( collected ).hasSize( 3 ); } @Test - void testPackageCrossingWithJandex() { - testPackageCrossing( buildJandexIndex( NoGeneratorEntity.class ) ); - } - - @Test - void testPackageCrossingWithoutJandex() { - testPackageCrossing( null ); - } - - private void testPackageCrossing(Index jandexIndex) { - final SourceModelBuildingContext buildingContext = createBuildingContext( jandexIndex, NoGeneratorEntity.class ); + void testPackageCrossing() { + final SourceModelBuildingContext buildingContext = createModelContext( NoGeneratorEntity.class ); final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); final List collected = new ArrayList<>(); - // starting from the class, we should get 6 containers - - // * org.hibernate.models.annotations.target.NoGeneratorEntity - // * org.hibernate.models.annotations.target - // * org.hibernate.models.annotations + // starting from the class, we should get 8 containers - + // * org.hibernate.models.testing.tests.annotations.target.NoGeneratorEntity + // * org.hibernate.models.testing.tests.annotations.target + // * org.hibernate.models.testing.tests.annotations + // * org.hibernate.models.testing.tests + // * org.hibernate.models.testing // * org.hibernate.models // * org.hibernate // * org final ClassDetails entityClass = classDetailsRegistry.getClassDetails( NoGeneratorEntity.class.getName() ); entityClass.walkSelfAndContainers( true, buildingContext, collected::add ); - assertThat( collected ).hasSize( 6 ); + assertThat( collected ).hasSize( 8 ); collected.clear(); - // starting from the member, we should get 7 containers - - // * org.hibernate.models.annotations.target.NoGeneratorEntity#id - // * org.hibernate.models.annotations.target.NoGeneratorEntity - // * org.hibernate.models.annotations.target - // * org.hibernate.models.annotations + // starting from the member, we should get 9 containers - + // * org.hibernate.models.testing.tests.annotations.target.NoGeneratorEntity#id + // * org.hibernate.models.testing.tests.annotations.target.NoGeneratorEntity + // * org.hibernate.models.testing.tests.annotations.target + // * org.hibernate.models.testing.tests.annotations + // * org.hibernate.models.testing.tests + // * org.hibernate.models.testing // * org.hibernate.models // * org.hibernate // * org final FieldDetails idMember = entityClass.findFieldByName( "id" ); idMember.walkSelfAndContainers( true, buildingContext, collected::add ); - assertThat( collected ).hasSize( 7 ); + assertThat( collected ).hasSize( 9 ); } } diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/target/package-info.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/package-info.java similarity index 74% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/target/package-info.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/package-info.java index 5f82810..001e817 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/target/package-info.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/package-info.java @@ -7,4 +7,4 @@ * @author Steve Ebersole */ @GeneratorAnnotation(GeneratorAnnotation.Source.PACKAGE) -package org.hibernate.models.annotations.target; +package org.hibernate.models.testing.tests.annotations.target; diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/target/sub/SubNoGeneratorEntity.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/sub/SubNoGeneratorEntity.java similarity index 78% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/target/sub/SubNoGeneratorEntity.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/sub/SubNoGeneratorEntity.java index 08ff4c0..2403b89 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/annotations/target/sub/SubNoGeneratorEntity.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/annotations/target/sub/SubNoGeneratorEntity.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.annotations.target.sub; +package org.hibernate.models.testing.tests.annotations.target.sub; /** * This ideally should not have a generator. But diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/classes/AnEnum.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/AnEnum.java similarity index 75% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/classes/AnEnum.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/AnEnum.java index 63aa6b7..e7bef9f 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/classes/AnEnum.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/AnEnum.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.classes; +package org.hibernate.models.testing.tests.classes; /** * @author Steve Ebersole diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/classes/BranchClass.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/BranchClass.java similarity index 86% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/classes/BranchClass.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/BranchClass.java index 4ac26dc..7cc139b 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/classes/BranchClass.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/BranchClass.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.classes; +package org.hibernate.models.testing.tests.classes; import jakarta.persistence.Transient; diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/classes/ClassMarker.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/ClassMarker.java similarity index 89% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/classes/ClassMarker.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/ClassMarker.java index 7de07bc..2ec13e8 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/classes/ClassMarker.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/ClassMarker.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.classes; +package org.hibernate.models.testing.tests.classes; import java.lang.annotation.ElementType; import java.lang.annotation.RetentionPolicy; diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/classes/ClassRegistryTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/ClassRegistryTests.java similarity index 80% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/classes/ClassRegistryTests.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/ClassRegistryTests.java index 83d1db8..aeff844 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/classes/ClassRegistryTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/ClassRegistryTests.java @@ -2,22 +2,20 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.classes; +package org.hibernate.models.testing.tests.classes; import java.util.HashSet; import java.util.Set; -import org.hibernate.models.SourceModelTestHelper; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassDetailsRegistry; import org.hibernate.models.spi.SourceModelBuildingContext; import org.junit.jupiter.api.Test; -import org.jboss.jandex.Index; - import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.fail; +import static org.hibernate.models.testing.TestHelper.buildModelContext; /** * @author Steve Ebersole @@ -26,8 +24,7 @@ public class ClassRegistryTests { @Test void testResolveClassDetails() { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - (Index) null, + final SourceModelBuildingContext buildingContext = buildModelContext( RootClass.class, TrunkClass.class, BranchClass.class, @@ -44,8 +41,7 @@ void testResolveClassDetails() { @Test void testResolveClassDetailsVoid() { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - (Index) null, + final SourceModelBuildingContext buildingContext = buildModelContext( RootClass.class, TrunkClass.class, BranchClass.class, @@ -62,8 +58,7 @@ void testResolveClassDetailsVoid() { @Test void testResolveClassDetailsNull() { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - (Index) null, + final SourceModelBuildingContext buildingContext = buildModelContext( RootClass.class, TrunkClass.class, BranchClass.class, @@ -81,8 +76,7 @@ void testResolveClassDetailsNull() { @Test void testForEachClassDetails() { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - (Index) null, + final SourceModelBuildingContext buildingContext = buildModelContext( RootClass.class, TrunkClass.class, BranchClass.class, diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/classes/Composable.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/Composable.java similarity index 89% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/classes/Composable.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/Composable.java index 3952f23..cff7b63 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/classes/Composable.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/Composable.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.classes; +package org.hibernate.models.testing.tests.classes; import java.lang.annotation.ElementType; import java.lang.annotation.RetentionPolicy; diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/classes/EnumTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/EnumTests.java similarity index 62% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/classes/EnumTests.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/EnumTests.java index 5cceb99..2317c35 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/classes/EnumTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/EnumTests.java @@ -2,39 +2,24 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.classes; +package org.hibernate.models.testing.tests.classes; -import org.hibernate.models.SourceModelTestHelper; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassDetailsRegistry; import org.hibernate.models.spi.SourceModelBuildingContext; import org.junit.jupiter.api.Test; -import org.jboss.jandex.Index; - import static org.assertj.core.api.Assertions.assertThat; +import static org.hibernate.models.testing.TestHelper.buildModelContext; /** * @author Steve Ebersole */ public class EnumTests { @Test - void basicEnumTestWithJandex() { - final Index index = SourceModelTestHelper.buildJandexIndex( AnEnum.class ); - basicEnumTest( index ); - } - - @Test - void basicRootTestWithoutJandex() { - basicEnumTest( null ); - } - - private void basicEnumTest(Index index) { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - index, - AnEnum.class - ); + void basicEnumTest() { + final SourceModelBuildingContext buildingContext = buildModelContext( AnEnum.class ); final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); final ClassDetails enumClassDetails = classDetailsRegistry.getClassDetails( AnEnum.class.getName() ); diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/classes/GenericsTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/GenericsTests.java similarity index 80% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/classes/GenericsTests.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/GenericsTests.java index 86e4313..9f4ca28 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/classes/GenericsTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/GenericsTests.java @@ -2,9 +2,8 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.classes; +package org.hibernate.models.testing.tests.classes; -import org.hibernate.models.SourceModelTestHelper; import org.hibernate.models.spi.ClassBasedTypeDetails; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassDetailsRegistry; @@ -13,36 +12,20 @@ import org.junit.jupiter.api.Test; -import org.jboss.jandex.Index; - import jakarta.persistence.Entity; import jakarta.persistence.Id; import jakarta.persistence.MappedSuperclass; import static org.assertj.core.api.Assertions.assertThat; +import static org.hibernate.models.testing.TestHelper.buildModelContext; /** * @author Steve Ebersole */ public class GenericsTests { @Test - void testWrappedIdWithJandex() { - final Index index = SourceModelTestHelper.buildJandexIndex( - Base.class, - Thing1.class, - Thing2.class - ); - testWrappedId( index ); - } - - @Test - void testWrappedIdWithoutJandex() { - testWrappedId( null ); - } - - void testWrappedId(Index jandexIndex) { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - jandexIndex, + void testWrappedId() { + final SourceModelBuildingContext buildingContext = buildModelContext( Base.class, Thing1.class, Thing2.class @@ -75,19 +58,8 @@ void testWrappedId(Index jandexIndex) { } @Test - void testIdWithJandex() { - final Index index = SourceModelTestHelper.buildJandexIndex( Base2.class, Thing3.class, Thing4.class ); - testId( index ); - } - - @Test - void testIdWithoutJandex() { - testId( null ); - } - - void testId(Index jandexIndex) { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - jandexIndex, + void testId() { + final SourceModelBuildingContext buildingContext = buildModelContext( Base2.class, Thing3.class, Thing4.class @@ -111,19 +83,8 @@ void testId(Index jandexIndex) { } @Test - void testArraysWithJandex() { - final Index index = SourceModelTestHelper.buildJandexIndex( Base3.class, Thing5.class ); - testArrays( index ); - } - - @Test - void testArraysWithoutJandex() { - testArrays( null ); - } - - void testArrays(Index jandexIndex) { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - jandexIndex, + void testArrays() { + final SourceModelBuildingContext buildingContext = buildModelContext( Base3.class, Thing5.class ); diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/classes/InheritanceTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/InheritanceTests.java similarity index 74% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/classes/InheritanceTests.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/InheritanceTests.java index 244f729..5637f2f 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/classes/InheritanceTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/InheritanceTests.java @@ -2,12 +2,11 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.classes; +package org.hibernate.models.testing.tests.classes; import java.util.ArrayList; import java.util.List; -import org.hibernate.models.SourceModelTestHelper; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassDetailsRegistry; import org.hibernate.models.spi.FieldDetails; @@ -15,36 +14,19 @@ import org.junit.jupiter.api.Test; -import org.jboss.jandex.Index; - import jakarta.persistence.Transient; import org.assertj.core.api.Assertions; import static org.assertj.core.api.Assertions.assertThat; +import static org.hibernate.models.testing.TestHelper.buildModelContext; /** * @author Steve Ebersole */ public class InheritanceTests { @Test - void basicRootTestWithJandex() { - final Index index = SourceModelTestHelper.buildJandexIndex( - RootClass.class, - TrunkClass.class, - BranchClass.class, - LeafClass.class - ); - basicRootTest( index ); - } - - @Test - void basicRootTestWithoutJandex() { - basicRootTest( null ); - } - - private void basicRootTest(Index index) { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - index, + void basicRootTest() { + final SourceModelBuildingContext buildingContext = buildModelContext( RootClass.class, TrunkClass.class, BranchClass.class, @@ -74,24 +56,8 @@ private void basicRootTest(Index index) { } @Test - void basicTrunkTestWithJandex() { - final Index index = SourceModelTestHelper.buildJandexIndex( - RootClass.class, - TrunkClass.class, - BranchClass.class, - LeafClass.class - ); - basicTrunkTest( index ); - } - - @Test - void basicTrunkTestWithoutJandex() { - basicTrunkTest( null ); - } - - private void basicTrunkTest(Index index) { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - index, + void basicTrunkTest() { + final SourceModelBuildingContext buildingContext = buildModelContext( RootClass.class, TrunkClass.class, BranchClass.class, @@ -122,24 +88,8 @@ private void basicTrunkTest(Index index) { } @Test - void basicLeafTestWithJandex() { - final Index index = SourceModelTestHelper.buildJandexIndex( - RootClass.class, - TrunkClass.class, - BranchClass.class, - LeafClass.class - ); - basicLeafTest( index ); - } - - @Test - void basicLeafTestWithoutJandex() { - basicLeafTest( null ); - } - - private void basicLeafTest(Index index) { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - index, + void basicLeafTest() { + final SourceModelBuildingContext buildingContext = buildModelContext( RootClass.class, TrunkClass.class, BranchClass.class, @@ -160,25 +110,8 @@ private void basicLeafTest(Index index) { } @Test - void testIsImplementorWithJandex() { - final Index index = SourceModelTestHelper.buildJandexIndex( - Intf.class, - RootClass.class, - TrunkClass.class, - BranchClass.class, - LeafClass.class - ); - testIsImplementor( index ); - } - - @Test - void testIsImplementorWithoutJandex() { - testIsImplementor( null ); - } - - private void testIsImplementor(Index index) { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - index, + void testIsImplementor() { + final SourceModelBuildingContext buildingContext = buildModelContext( Intf.class, RootClass.class, TrunkClass.class, @@ -205,25 +138,8 @@ private void testIsImplementor(Index index) { } @Test - void testForEachDirectSubTypeWithJandex() { - final Index index = SourceModelTestHelper.buildJandexIndex( - Intf.class, - RootClass.class, - TrunkClass.class, - BranchClass.class, - LeafClass.class - ); - testForEachDirectSubType( index ); - } - - @Test - void testForEachDirectSubTypeWithoutJandex() { - testForEachDirectSubType( null ); - } - - private void testForEachDirectSubType(Index index) { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - index, + void testForEachDirectSubType() { + final SourceModelBuildingContext buildingContext = buildModelContext( RootClass.class, TrunkClass.class, BranchClass.class, diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/classes/Intf.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/Intf.java similarity index 74% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/classes/Intf.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/Intf.java index 348071c..226d5b0 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/classes/Intf.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/Intf.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.classes; +package org.hibernate.models.testing.tests.classes; /** * @author Steve Ebersole diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/classes/LeafClass.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/LeafClass.java similarity index 85% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/classes/LeafClass.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/LeafClass.java index ea1a179..127eab4 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/classes/LeafClass.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/LeafClass.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.classes; +package org.hibernate.models.testing.tests.classes; import jakarta.persistence.Transient; diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/classes/MemberMarker.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/MemberMarker.java similarity index 89% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/classes/MemberMarker.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/MemberMarker.java index 59b88e3..0375d98 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/classes/MemberMarker.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/MemberMarker.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.classes; +package org.hibernate.models.testing.tests.classes; import java.lang.annotation.ElementType; import java.lang.annotation.RetentionPolicy; diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/classes/PrimitiveTypeTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/PrimitiveTypeTests.java similarity index 73% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/classes/PrimitiveTypeTests.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/PrimitiveTypeTests.java index 6b5a229..2c0a0d9 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/classes/PrimitiveTypeTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/PrimitiveTypeTests.java @@ -2,9 +2,8 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.classes; +package org.hibernate.models.testing.tests.classes; -import org.hibernate.models.SourceModelTestHelper; import org.hibernate.models.internal.jdk.JdkClassDetails; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassDetailsRegistry; @@ -12,29 +11,18 @@ import org.junit.jupiter.api.Test; -import org.jboss.jandex.Index; - import static org.assertj.core.api.Assertions.assertThat; -import static org.hibernate.models.SourceModelTestHelper.createBuildingContext; +import static org.hibernate.models.testing.TestHelper.createModelContext; /** * @author Steve Ebersole */ public class PrimitiveTypeTests { @Test - void testWithJandex() { - final Index jandexIndex = SourceModelTestHelper.buildJandexIndex(); - final SourceModelBuildingContext buildingContext = createBuildingContext( jandexIndex ); - verify( buildingContext.getClassDetailsRegistry() ); - } - - @Test - void testWithoutJandex() { - final SourceModelBuildingContext buildingContext = createBuildingContext( (Index) null ); - verify( buildingContext.getClassDetailsRegistry() ); - } + void testPrimitives() { + final SourceModelBuildingContext modelContext = createModelContext(); + final ClassDetailsRegistry classDetailsRegistry = modelContext.getClassDetailsRegistry(); - void verify(ClassDetailsRegistry classDetailsRegistry) { final ClassDetails booleanDetails = classDetailsRegistry.resolveClassDetails( "boolean" ); assertThat( booleanDetails ).isNotNull(); assertThat( booleanDetails ).isInstanceOf( JdkClassDetails.class ); diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/classes/RootClass.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/RootClass.java similarity index 85% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/classes/RootClass.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/RootClass.java index 19a88c2..bb2e730 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/classes/RootClass.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/RootClass.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.classes; +package org.hibernate.models.testing.tests.classes; import jakarta.persistence.Transient; diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/classes/SubclassableMarker.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/SubclassableMarker.java similarity index 90% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/classes/SubclassableMarker.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/SubclassableMarker.java index d382346..ca91252 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/classes/SubclassableMarker.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/SubclassableMarker.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.classes; +package org.hibernate.models.testing.tests.classes; import java.lang.annotation.ElementType; import java.lang.annotation.Inherited; diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/classes/TrunkClass.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/TrunkClass.java similarity index 85% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/classes/TrunkClass.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/TrunkClass.java index de9860c..df616c1 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/classes/TrunkClass.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/classes/TrunkClass.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.classes; +package org.hibernate.models.testing.tests.classes; import jakarta.persistence.Transient; diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/dynamic/DynamicAnnotationTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/dynamic/DynamicAnnotationTests.java similarity index 81% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/dynamic/DynamicAnnotationTests.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/dynamic/DynamicAnnotationTests.java index 8f24bec..15709c4 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/dynamic/DynamicAnnotationTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/dynamic/DynamicAnnotationTests.java @@ -2,14 +2,14 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.dynamic; +package org.hibernate.models.testing.tests.dynamic; import org.hibernate.models.internal.dynamic.DynamicClassDetails; -import org.hibernate.models.orm.ForeignKeyAnnotation; -import org.hibernate.models.orm.JpaAnnotations; -import org.hibernate.models.orm.SecondaryTableAnnotation; -import org.hibernate.models.orm.TableAnnotation; import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.testing.orm.ForeignKeyAnnotation; +import org.hibernate.models.testing.orm.JpaAnnotations; +import org.hibernate.models.testing.orm.SecondaryTableAnnotation; +import org.hibernate.models.testing.orm.TableAnnotation; import org.junit.jupiter.api.Test; @@ -20,7 +20,7 @@ import jakarta.persistence.Table; import static org.assertj.core.api.Assertions.assertThat; -import static org.hibernate.models.SourceModelTestHelper.createBuildingContext; +import static org.hibernate.models.testing.TestHelper.createModelContext; /** * @author Steve Ebersole @@ -28,7 +28,7 @@ public class DynamicAnnotationTests { @Test void testBasicUsage() { - final SourceModelBuildingContext buildingContext = createBuildingContext(); + final SourceModelBuildingContext buildingContext = createModelContext(); final SequenceGenerator generatorAnn = JpaAnnotations.SEQUENCE_GENERATOR.createUsage( buildingContext ); assertThat( generatorAnn.name() ).isEqualTo( "" ); assertThat( generatorAnn.sequenceName() ).isEqualTo( "" ); @@ -45,7 +45,7 @@ void testBasicUsage() { @Test void testAnnotationWrapping() { - final SourceModelBuildingContext buildingContext = createBuildingContext(); + final SourceModelBuildingContext buildingContext = createModelContext(); final DynamicClassDetails dynamicEntity = new DynamicClassDetails( "DynamicEntity", buildingContext ); final Table tableUsage = dynamicEntity.applyAnnotationUsage( JpaAnnotations.TABLE, diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/dynamic/SimpleDynamicModelTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/dynamic/SimpleDynamicModelTests.java similarity index 95% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/dynamic/SimpleDynamicModelTests.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/dynamic/SimpleDynamicModelTests.java index b94a39a..dd7b6dd 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/dynamic/SimpleDynamicModelTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/dynamic/SimpleDynamicModelTests.java @@ -2,29 +2,27 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.dynamic; +package org.hibernate.models.testing.tests.dynamic; -import org.hibernate.models.SourceModelTestHelper; import org.hibernate.models.internal.ClassTypeDetailsImpl; import org.hibernate.models.internal.ModifierUtils; import org.hibernate.models.internal.MutableClassDetailsRegistry; import org.hibernate.models.internal.dynamic.DynamicClassDetails; import org.hibernate.models.internal.dynamic.DynamicFieldDetails; -import org.hibernate.models.orm.JpaAnnotations; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassDetailsRegistry; import org.hibernate.models.spi.FieldDetails; import org.hibernate.models.spi.SourceModelBuildingContext; import org.hibernate.models.spi.TypeDetails; +import org.hibernate.models.testing.orm.JpaAnnotations; import org.junit.jupiter.api.Test; -import org.jboss.jandex.Index; - import jakarta.persistence.Entity; import jakarta.persistence.Id; import static org.assertj.core.api.Assertions.assertThat; +import static org.hibernate.models.testing.TestHelper.createModelContext; /** * @author Steve Ebersole @@ -32,7 +30,7 @@ public class SimpleDynamicModelTests { @Test void testSimpleBasics() { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( (Index) null ); + final SourceModelBuildingContext buildingContext = createModelContext(); final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); final ClassDetails integerClassDetails = classDetailsRegistry.getClassDetails( Integer.class.getName() ); @@ -90,7 +88,7 @@ void testSimpleBasics() { @Test void testResolveClassDetails() { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( (Index) null ); + final SourceModelBuildingContext buildingContext = createModelContext(); final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); final ClassDetails integerClassDetails = classDetailsRegistry.getClassDetails( Integer.class.getName() ); diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/dynamic/package-info.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/dynamic/package-info.java similarity index 86% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/dynamic/package-info.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/dynamic/package-info.java index c29a1c1..9225488 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/dynamic/package-info.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/dynamic/package-info.java @@ -11,4 +11,4 @@ * * @author Steve Ebersole */ -package org.hibernate.models.dynamic; +package org.hibernate.models.testing.tests.dynamic; diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/generics/BaselineTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/BaselineTests.java similarity index 76% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/generics/BaselineTests.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/BaselineTests.java index d27e277..cb25114 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/generics/BaselineTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/BaselineTests.java @@ -2,9 +2,8 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.generics; +package org.hibernate.models.testing.tests.generics; -import org.hibernate.models.SourceModelTestHelper; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassTypeDetails; import org.hibernate.models.spi.FieldDetails; @@ -13,9 +12,8 @@ import org.junit.jupiter.api.Test; -import org.jboss.jandex.Index; - import static org.assertj.core.api.Assertions.assertThat; +import static org.hibernate.models.testing.TestHelper.createModelContext; /** * @author Steve Ebersole @@ -27,21 +25,8 @@ void testObjectUse() { } @Test - void testSimpleClassWithJandex() { - final Index index = SourceModelTestHelper.buildJandexIndex( Simple.class ); - testSimpleClass( index ); - } - - @Test - void testSimpleClassWithoutJandex() { - testSimpleClass( null ); - } - - void testSimpleClass(Index jandexIndex) { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - jandexIndex, - Simple.class - ); + void testSimpleClass() { + final SourceModelBuildingContext buildingContext = createModelContext( Simple.class ); final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().getClassDetails( Simple.class.getName() ); final FieldDetails idField = classDetails.findFieldByName( "id" ); diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/generics/CollectionTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/CollectionTests.java similarity index 90% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/generics/CollectionTests.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/CollectionTests.java index 9867dba..4afb53f 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/generics/CollectionTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/CollectionTests.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.generics; +package org.hibernate.models.testing.tests.generics; import java.util.ArrayList; import java.util.Collection; @@ -13,7 +13,6 @@ import java.util.Map; import java.util.Set; -import org.hibernate.models.SourceModelTestHelper; import org.hibernate.models.spi.ArrayTypeDetails; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassTypeDetails; @@ -26,9 +25,8 @@ import org.junit.jupiter.api.Test; -import org.jboss.jandex.Index; - import static org.assertj.core.api.Assertions.assertThat; +import static org.hibernate.models.testing.TestHelper.createModelContext; /** * @author Steve Ebersole @@ -36,21 +34,8 @@ public class CollectionTests { @Test - void testCollectionsWithJandex() { - final Index index = SourceModelTestHelper.buildJandexIndex( ClassOfCollections.class ); - testCollections( index ); - } - - @Test - void testCollectionsWithoutJandex() { - testCollections( null ); - } - - void testCollections(Index index) { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - index, - ClassOfCollections.class - ); + void testCollections() { + final SourceModelBuildingContext buildingContext = createModelContext( ClassOfCollections.class ); final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().getClassDetails( ClassOfCollections.class.getName() ); @@ -152,21 +137,8 @@ void testCollections(Index index) { } @Test - void testArraysWithJandex() { - final Index index = SourceModelTestHelper.buildJandexIndex( ClassOfArrays.class ); - testArrays( index ); - } - - @Test - void testArraysWithoutJandex() { - testArrays( null ); - } - - void testArrays(Index index) { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - index, - ClassOfArrays.class - ); + void testArrays() { + final SourceModelBuildingContext buildingContext = createModelContext( ClassOfArrays.class ); final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().getClassDetails( ClassOfArrays.class.getName() ); @@ -197,20 +169,8 @@ void testArrays(Index index) { } @Test - void testWildcardWithJandex() { - testWildcard( SourceModelTestHelper.buildJandexIndex( Stuff.class, Things.class ) ); - } - - @Test - void testWildcardWithoutJandex() { - testWildcard( null ); - } - - void testWildcard(Index index) { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - index, - Things.class - ); + void testWildcard() { + final SourceModelBuildingContext buildingContext = createModelContext( Things.class ); final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().getClassDetails( Things.class.getName() ); @@ -280,23 +240,8 @@ void testWildcard(Index index) { } @Test - void testListSubclassesWithJandex() { - testListSubclasses( SourceModelTestHelper.buildJandexIndex( - SpecialList.class, - SpecialArrayList.class, - SuperSpecialArrayList.class, - SpecialListContainer.class - ) ); - } - - @Test - void testListSubclassesWithoutJandex() { - testListSubclasses( null ); - } - - private void testListSubclasses(Index index) { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - index, + void testListSubclasses() { + final SourceModelBuildingContext buildingContext = createModelContext( SpecialList.class, SpecialArrayList.class, SuperSpecialArrayList.class, @@ -328,23 +273,8 @@ private void testListSubclasses(Index index) { } @Test - void testMapSubclassesWithJandex() { - testMapSubclasses( SourceModelTestHelper.buildJandexIndex( - SpecialMap.class, - SpecialHashMap.class, - SuperSpecialHashMap.class, - SpecialMapContainer.class - ) ); - } - - @Test - void testMapSubclassesWithoutJandex() { - testMapSubclasses( null ); - } - - private void testMapSubclasses(Index index) { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - index, + void testMapSubclasses() { + final SourceModelBuildingContext buildingContext = createModelContext( SpecialMap.class, SpecialHashMap.class, SuperSpecialHashMap.class, diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/generics/InheritanceTypeVariableTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/InheritanceTypeVariableTests.java similarity index 86% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/generics/InheritanceTypeVariableTests.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/InheritanceTypeVariableTests.java index dbbf173..ddf799d 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/generics/InheritanceTypeVariableTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/InheritanceTypeVariableTests.java @@ -2,9 +2,8 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.generics; +package org.hibernate.models.testing.tests.generics; -import org.hibernate.models.SourceModelTestHelper; import org.hibernate.models.spi.ClassBasedTypeDetails; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassTypeDetails; @@ -15,9 +14,8 @@ import org.junit.jupiter.api.Test; -import org.jboss.jandex.Index; - import static org.assertj.core.api.Assertions.assertThat; +import static org.hibernate.models.testing.TestHelper.createModelContext; /** * @author Steve Ebersole @@ -25,23 +23,8 @@ public class InheritanceTypeVariableTests { @Test - void testParameterizedHierarchyWithJandex() { - final Index index = SourceModelTestHelper.buildJandexIndex( - Root.class, - Base1.class, - Base2.class - ); - testParameterizedHierarchy( index ); - } - - @Test - void testParameterizedHierarchyWithoutJandex() { - testParameterizedHierarchy( null ); - } - - void testParameterizedHierarchy(Index index) { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - index, + void testParameterizedHierarchy() { + final SourceModelBuildingContext buildingContext = createModelContext( Root.class, Base1.class, Base2.class diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/generics/NestedInheritanceTest.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/NestedInheritanceTest.java similarity index 84% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/generics/NestedInheritanceTest.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/NestedInheritanceTest.java index 4ba064f..a4135fc 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/generics/NestedInheritanceTest.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/NestedInheritanceTest.java @@ -2,9 +2,8 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.generics; +package org.hibernate.models.testing.tests.generics; -import org.hibernate.models.SourceModelTestHelper; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassTypeDetails; import org.hibernate.models.spi.FieldDetails; @@ -14,34 +13,16 @@ import org.junit.jupiter.api.Test; -import org.jboss.jandex.Index; - import static org.assertj.core.api.Assertions.assertThat; +import static org.hibernate.models.testing.TestHelper.createModelContext; /** * @author Marco Belladelli */ public class NestedInheritanceTest { @Test - void testNestedGenericHierarchyWithJandex() { - final Index index = SourceModelTestHelper.buildJandexIndex( - BaseClass.class, - IntermediateOne.class, - IntermediateTwo.class, - IntermediateThree.class, - LeafClass.class - ); - testNestedGenericHierarchy( index ); - } - - @Test - void testNestedGenericHierarchyWithoutJandex() { - testNestedGenericHierarchy( null ); - } - - void testNestedGenericHierarchy(Index index) { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - index, + void testNestedGenericHierarchy() { + final SourceModelBuildingContext buildingContext = createModelContext( BaseClass.class, IntermediateOne.class, IntermediateTwo.class, diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/generics/NestedRecursiveInheritanceTest.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/NestedRecursiveInheritanceTest.java similarity index 84% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/generics/NestedRecursiveInheritanceTest.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/NestedRecursiveInheritanceTest.java index 9d076f3..2bbf6bb 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/generics/NestedRecursiveInheritanceTest.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/NestedRecursiveInheritanceTest.java @@ -2,11 +2,10 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.generics; +package org.hibernate.models.testing.tests.generics; import java.util.Map; -import org.hibernate.models.SourceModelTestHelper; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassTypeDetails; import org.hibernate.models.spi.FieldDetails; @@ -15,37 +14,16 @@ import org.junit.jupiter.api.Test; -import org.jboss.jandex.Index; - import static org.assertj.core.api.Assertions.assertThat; +import static org.hibernate.models.testing.TestHelper.createModelContext; /** * @author Marco Belladelli */ public class NestedRecursiveInheritanceTest { @Test - void testNestedGenericHierarchyWithJandex() { - final Index index = SourceModelTestHelper.buildJandexIndex( - Child.class, - Parent.class, - ChildHierarchy1.class, - ParentHierarchy1.class, - ChildHierarchy2.class, - ParentHierarchy2.class, - ChildHierarchy22.class, - ParentHierarchy22.class - ); - testNestedGenericHierarchy( index ); - } - - @Test - void testNestedGenericHierarchyWithoutJandex() { - testNestedGenericHierarchy( null ); - } - - void testNestedGenericHierarchy(Index index) { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - index, + void testNestedGenericHierarchy() { + final SourceModelBuildingContext buildingContext = createModelContext( Child.class, Parent.class, ChildHierarchy1.class, diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/generics/RecursiveTypeVariableTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/RecursiveTypeVariableTests.java similarity index 69% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/generics/RecursiveTypeVariableTests.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/RecursiveTypeVariableTests.java index 8dcccaf..96c5a02 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/generics/RecursiveTypeVariableTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/RecursiveTypeVariableTests.java @@ -2,9 +2,8 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.generics; +package org.hibernate.models.testing.tests.generics; -import org.hibernate.models.SourceModelTestHelper; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.FieldDetails; import org.hibernate.models.spi.SourceModelBuildingContext; @@ -12,9 +11,8 @@ import org.junit.jupiter.api.Test; -import org.jboss.jandex.Index; - import static org.assertj.core.api.Assertions.assertThat; +import static org.hibernate.models.testing.TestHelper.createModelContext; /** * @author Steve Ebersole @@ -22,21 +20,8 @@ public class RecursiveTypeVariableTests { @Test - void testTypeVariableReferenceJandex() { - final Index index = SourceModelTestHelper.buildJandexIndex( Simple.class ); - testTypeVariableReference( index ); - } - - @Test - void testTypeVariableReferenceWithoutJandex() { - testTypeVariableReference( null ); - } - - void testTypeVariableReference(Index index) { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - index, - Simple.class - ); + void testTypeVariableReference() { + final SourceModelBuildingContext buildingContext = createModelContext( Simple.class ); final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().getClassDetails( Simple.class.getName() ); final FieldDetails idField = classDetails.findFieldByName( "id" ); diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/generics/SimpleTypeVariableTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/SimpleTypeVariableTests.java similarity index 83% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/generics/SimpleTypeVariableTests.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/SimpleTypeVariableTests.java index cd1e462..aa0a160 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/generics/SimpleTypeVariableTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/generics/SimpleTypeVariableTests.java @@ -2,9 +2,8 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.generics; +package org.hibernate.models.testing.tests.generics; -import org.hibernate.models.SourceModelTestHelper; import org.hibernate.models.spi.ClassBasedTypeDetails; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassTypeDetails; @@ -15,9 +14,8 @@ import org.junit.jupiter.api.Test; -import org.jboss.jandex.Index; - import static org.assertj.core.api.Assertions.assertThat; +import static org.hibernate.models.testing.TestHelper.createModelContext; /** * @author Steve Ebersole @@ -25,21 +23,8 @@ public class SimpleTypeVariableTests { @Test - void testParameterizedClassWithJandex() { - final Index index = SourceModelTestHelper.buildJandexIndex( Simple.class ); - testParameterizedClass( index ); - } - - @Test - void testParameterizedClassWithoutJandex() { - testParameterizedClass( null ); - } - - void testParameterizedClass(Index index) { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - index, - Simple.class - ); + void testParameterizedClass() { + final SourceModelBuildingContext buildingContext = createModelContext( Simple.class ); final ClassDetails classDetails = buildingContext.getClassDetailsRegistry().getClassDetails( Simple.class.getName() ); assertThat( classDetails.getTypeParameters() ).hasSize( 1 ); diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/members/ArrayTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/ArrayTests.java similarity index 92% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/members/ArrayTests.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/ArrayTests.java index 2f17aae..ba7af3c 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/members/ArrayTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/ArrayTests.java @@ -2,9 +2,8 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.members; +package org.hibernate.models.testing.tests.members; -import org.hibernate.models.SourceModelTestHelper; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassDetailsRegistry; import org.hibernate.models.spi.FieldDetails; @@ -12,30 +11,16 @@ import org.junit.jupiter.api.Test; -import org.jboss.jandex.Index; - import static org.assertj.core.api.Assertions.assertThat; -import static org.hibernate.models.SourceModelTestHelper.buildJandexIndex; +import static org.hibernate.models.testing.TestHelper.createModelContext; /** * @author Steve Ebersole */ public class ArrayTests { @Test - void testWithJandex() { - verify( buildJandexIndex( SomeClass.class ) ); - } - - @Test - void testWithoutJandex() { - verify( null ); - } - - private void verify(Index index) { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - index, - SomeClass.class - ); + void testArrays() { + final SourceModelBuildingContext buildingContext = createModelContext( SomeClass.class ); final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); final ClassDetails classDetails = classDetailsRegistry.getClassDetails( SomeClass.class.getName() ); diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/members/FieldDetailsTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/FieldDetailsTests.java similarity index 93% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/members/FieldDetailsTests.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/FieldDetailsTests.java index 4377788..1536bc0 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/members/FieldDetailsTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/FieldDetailsTests.java @@ -2,11 +2,10 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.members; +package org.hibernate.models.testing.tests.members; import java.lang.reflect.Field; -import org.hibernate.models.SourceModelTestHelper; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.FieldDetails; import org.hibernate.models.spi.MemberDetails; @@ -14,10 +13,8 @@ import org.junit.jupiter.api.Test; -import org.jboss.jandex.Index; - import static org.assertj.core.api.Assertions.assertThat; -import static org.hibernate.models.SourceModelTestHelper.buildJandexIndex; +import static org.hibernate.models.testing.TestHelper.createModelContext; /** * Tests for modeling methods @@ -26,20 +23,8 @@ */ public class FieldDetailsTests { @Test - void testWithJandex() { - verify( buildJandexIndex( RandomClass.class ) ); - } - - @Test - void testWithoutJandex() { - verify( null ); - } - - void verify(Index index) { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - index, - RandomClass.class - ); + void testFields() { + final SourceModelBuildingContext buildingContext = createModelContext( RandomClass.class ); final ClassDetails classDetails = buildingContext .getClassDetailsRegistry() diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/members/MethodDetailsTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/MethodDetailsTests.java similarity index 94% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/members/MethodDetailsTests.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/MethodDetailsTests.java index bfae6f7..7beeace 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/members/MethodDetailsTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/MethodDetailsTests.java @@ -2,11 +2,10 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.members; +package org.hibernate.models.testing.tests.members; import java.lang.reflect.Method; -import org.hibernate.models.SourceModelTestHelper; import org.hibernate.models.internal.jdk.JdkMethodDetails; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.MemberDetails; @@ -15,9 +14,8 @@ import org.junit.jupiter.api.Test; -import org.jboss.jandex.Index; - import static org.assertj.core.api.Assertions.assertThat; +import static org.hibernate.models.testing.TestHelper.createModelContext; import static org.junit.jupiter.api.Assertions.fail; /** @@ -27,21 +25,8 @@ */ public class MethodDetailsTests { @Test - void testWithJandex() { - verify( SourceModelTestHelper.buildJandexIndex( RandomClass.class ) ); - - } - - @Test - void testWithoutJandex() { - verify( null ); - } - - void verify(Index index) { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - index, - RandomClass.class - ); + void testMethods() { + final SourceModelBuildingContext buildingContext = createModelContext( RandomClass.class ); final ClassDetails classDetails = buildingContext .getClassDetailsRegistry() diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/members/PluralMemberTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/PluralMemberTests.java similarity index 86% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/members/PluralMemberTests.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/PluralMemberTests.java index abbecb4..b554f32 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/members/PluralMemberTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/PluralMemberTests.java @@ -2,14 +2,13 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.members; +package org.hibernate.models.testing.tests.members; import java.util.Collection; import java.util.List; import java.util.Map; import java.util.Set; -import org.hibernate.models.SourceModelTestHelper; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassDetailsRegistry; import org.hibernate.models.spi.FieldDetails; @@ -18,35 +17,21 @@ import org.junit.jupiter.api.Test; -import org.jboss.jandex.Index; - import jakarta.persistence.Column; import jakarta.persistence.ElementCollection; import jakarta.persistence.Entity; import jakarta.persistence.Id; import static org.assertj.core.api.Assertions.assertThat; -import static org.hibernate.models.SourceModelTestHelper.buildJandexIndex; +import static org.hibernate.models.testing.TestHelper.createModelContext; /** * @author Steve Ebersole */ public class PluralMemberTests { @Test - void testWithJandex() { - verify( buildJandexIndex( SimpleEntity.class ) ); - } - - @Test - void testWithoutJandex() { - verify( null ); - } - - private void verify(Index index) { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - index, - SimpleEntity.class - ); + void testPluralMembers() { + final SourceModelBuildingContext buildingContext = createModelContext( SimpleEntity.class ); final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); final ClassDetails classDetails = classDetailsRegistry.getClassDetails( SimpleEntity.class.getName() ); diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/members/RecordTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/RecordTests.java similarity index 74% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/members/RecordTests.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/RecordTests.java index bb07079..700d365 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/members/RecordTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/RecordTests.java @@ -2,9 +2,8 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.members; +package org.hibernate.models.testing.tests.members; -import org.hibernate.models.SourceModelTestHelper; import org.hibernate.models.spi.AnnotationTarget; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.RecordComponentDetails; @@ -12,30 +11,16 @@ import org.junit.jupiter.api.Test; -import org.jboss.jandex.Index; - import static org.assertj.core.api.Assertions.assertThat; +import static org.hibernate.models.testing.TestHelper.createModelContext; /** * @author Steve Ebersole */ public class RecordTests { @Test - void testWithJandex() { - verify( SourceModelTestHelper.buildJandexIndex( Data.class ) ); - - } - - @Test - void testWithoutJandex() { - verify( null ); - } - - void verify(Index index) { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - index, - Data.class - ); + void testRecords() { + final SourceModelBuildingContext buildingContext = createModelContext( Data.class ); final ClassDetails classDetails = buildingContext .getClassDetailsRegistry() diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/members/UnboundWildcardTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/UnboundWildcardTests.java similarity index 87% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/members/UnboundWildcardTests.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/UnboundWildcardTests.java index a8988be..edf86e1 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/members/UnboundWildcardTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/members/UnboundWildcardTests.java @@ -2,11 +2,10 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.members; +package org.hibernate.models.testing.tests.members; import java.util.List; -import org.hibernate.models.SourceModelTestHelper; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.FieldDetails; import org.hibernate.models.spi.ParameterizedTypeDetails; @@ -16,9 +15,8 @@ import org.junit.jupiter.api.Test; -import org.jboss.jandex.Index; - import static org.assertj.core.api.Assertions.assertThat; +import static org.hibernate.models.testing.TestHelper.createModelContext; /** * @author Marco Belladelli @@ -26,21 +24,8 @@ public class UnboundWildcardTests { @Test - void testWildcardMembersWithJandex() { - final Index index = SourceModelTestHelper.buildJandexIndex( Thing.class ); - testWildcardMembers( index ); - } - - @Test - void testWildcardMembersWithoutJandex() { - testWildcardMembers( null ); - } - - void testWildcardMembers(Index index) { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - index, - Thing.class - ); + void testWildcardMembers() { + final SourceModelBuildingContext buildingContext = createModelContext( Thing.class ); final ClassDetails classDetails = buildingContext.getClassDetailsRegistry() .getClassDetails( Thing.class.getName() ); diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/serialization/SimpleSerializationTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/serialization/SimpleSerializationTests.java similarity index 95% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/serialization/SimpleSerializationTests.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/serialization/SimpleSerializationTests.java index a02b414..e4463d2 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/serialization/SimpleSerializationTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/serialization/SimpleSerializationTests.java @@ -2,30 +2,26 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.serialization; +package org.hibernate.models.testing.tests.serialization; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; -import org.hibernate.models.SerializationHelper; -import org.hibernate.models.SourceModelTestHelper; import org.hibernate.models.serial.spi.StorableContext; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.SourceModelBuildingContext; import org.hibernate.models.spi.SourceModelContext; +import org.hibernate.models.testing.util.SerializationHelper; import org.junit.jupiter.api.Test; import static org.assertj.core.api.Assertions.assertThat; import static org.hibernate.models.internal.SimpleClassLoading.SIMPLE_CLASS_LOADING; +import static org.hibernate.models.testing.TestHelper.createModelContext; public class SimpleSerializationTests { - protected SourceModelBuildingContext createModelContext(Class... classes) { - return SourceModelTestHelper.createBuildingContext( classes ); - } - @Test void serializeSimpleClass() { final SourceModelBuildingContext buildingContext = createModelContext( SimpleClass.class ); diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/xml/MetadataCompleteTests.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/xml/MetadataCompleteTests.java similarity index 88% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/xml/MetadataCompleteTests.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/xml/MetadataCompleteTests.java index bbea5c9..fa17c7f 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/xml/MetadataCompleteTests.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/xml/MetadataCompleteTests.java @@ -2,23 +2,21 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.xml; +package org.hibernate.models.testing.tests.xml; -import org.hibernate.models.SourceModelTestHelper; -import org.hibernate.models.orm.JpaAnnotations; import org.hibernate.models.spi.ClassDetails; import org.hibernate.models.spi.ClassDetailsRegistry; import org.hibernate.models.spi.FieldDetails; import org.hibernate.models.spi.MutableMemberDetails; import org.hibernate.models.spi.SourceModelBuildingContext; +import org.hibernate.models.testing.orm.JpaAnnotations; import org.junit.jupiter.api.Test; -import org.jboss.jandex.Index; - import jakarta.persistence.Transient; import static org.assertj.core.api.Assertions.assertThat; +import static org.hibernate.models.testing.TestHelper.createModelContext; /** * Tests for expected patterns for handling of "metadata complete" XML mappings. @@ -28,10 +26,7 @@ public class MetadataCompleteTests { @Test void testIt() { - final SourceModelBuildingContext buildingContext = SourceModelTestHelper.createBuildingContext( - (Index) null, - SimpleEntity.class - ); + final SourceModelBuildingContext buildingContext = createModelContext( SimpleEntity.class ); final ClassDetailsRegistry classDetailsRegistry = buildingContext.getClassDetailsRegistry(); final ClassDetails classDetails = classDetailsRegistry.getClassDetails( SimpleEntity.class.getName() ); diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/xml/SimpleEntity.java b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/xml/SimpleEntity.java similarity index 93% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/xml/SimpleEntity.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/tests/xml/SimpleEntity.java index a003998..0838bea 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/xml/SimpleEntity.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/tests/xml/SimpleEntity.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models.xml; +package org.hibernate.models.testing.tests.xml; import jakarta.persistence.Entity; import jakarta.persistence.Id; diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/MutableInteger.java b/hibernate-models/src/test/java/org/hibernate/models/testing/util/MutableInteger.java similarity index 96% rename from hibernate-models-testing/src/main/java/org/hibernate/models/MutableInteger.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/util/MutableInteger.java index efa3547..70152e4 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/MutableInteger.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/util/MutableInteger.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models; +package org.hibernate.models.testing.util; /** * A more performant version of {@link java.util.concurrent.atomic.AtomicInteger} in cases diff --git a/hibernate-models-testing/src/main/java/org/hibernate/models/SerializationHelper.java b/hibernate-models/src/test/java/org/hibernate/models/testing/util/SerializationHelper.java similarity index 99% rename from hibernate-models-testing/src/main/java/org/hibernate/models/SerializationHelper.java rename to hibernate-models/src/test/java/org/hibernate/models/testing/util/SerializationHelper.java index f42de4c..1bcd3be 100644 --- a/hibernate-models-testing/src/main/java/org/hibernate/models/SerializationHelper.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/util/SerializationHelper.java @@ -2,7 +2,7 @@ * SPDX-License-Identifier: Apache-2.0 * Copyright: Red Hat Inc. and Hibernate Authors */ -package org.hibernate.models; +package org.hibernate.models.testing.util; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; diff --git a/settings.gradle b/settings.gradle index 9c7af13..d53cd27 100644 --- a/settings.gradle +++ b/settings.gradle @@ -129,4 +129,4 @@ dependencyResolutionManagement { include "hibernate-models" include "hibernate-models-jandex" -include 'hibernate-models-testing' + From 5470b77f38f30fe9827b046989ced1aa93ed3c8f Mon Sep 17 00:00:00 2001 From: Steve Ebersole Date: Mon, 17 Mar 2025 10:28:59 -0500 Subject: [PATCH 2/2] Share tests across modules --- buildSrc/src/main/groovy/shared-testing.gradle | 7 ++++++- buildSrc/src/main/groovy/testing.gradle | 5 +++++ ...oryImpl.java => JandexModelContextFactoryImpl.java} | 4 ++-- ...g.hibernate.models.testing.intg.ModelContextFactory | 1 + ...nate.models.testing.intg.TestingModelContextFactory | 1 - hibernate-models-testing/build.gradle | 10 ++++++++++ .../models/testing/intg/ModelContextFactory.java | 2 +- .../hibernate/models/testing/orm/AttributeMarker.java | 0 .../hibernate/models/testing/orm/BasicAnnotation.java | 0 .../models/testing/orm/CacheableAnnotation.java | 0 .../models/testing/orm/CheckConstraintAnnotation.java | 0 .../models/testing/orm/CollectionTableAnnotation.java | 0 .../hibernate/models/testing/orm/ColumnAnnotation.java | 0 .../hibernate/models/testing/orm/ColumnDetails.java | 0 .../models/testing/orm/CommonTableDetails.java | 0 .../models/testing/orm/DatabaseObjectDetails.java | 0 .../testing/orm/ElementCollectionJpaAnnotation.java | 0 .../hibernate/models/testing/orm/EntityAnnotation.java | 0 .../models/testing/orm/ForeignKeyAnnotation.java | 0 .../org/hibernate/models/testing/orm/IdAnnotation.java | 0 .../hibernate/models/testing/orm/IndexAnnotation.java | 0 .../models/testing/orm/JoinColumnAnnotation.java | 0 .../models/testing/orm/JoinColumnsAnnotation.java | 0 .../hibernate/models/testing/orm/JpaAnnotations.java | 0 .../java/org/hibernate/models/testing/orm/Named.java | 0 .../testing/orm/NamedNativeQueriesAnnotation.java | 0 .../models/testing/orm/NamedNativeQueryAnnotation.java | 0 .../models/testing/orm/NamedQueriesAnnotation.java | 0 .../models/testing/orm/NamedQueryAnnotation.java | 0 .../models/testing/orm/OrmAnnotationHelper.java | 0 .../testing/orm/PrimaryKeyJoinColumnJpaAnnotation.java | 0 .../orm/PrimaryKeyJoinColumnsJpaAnnotation.java | 0 .../models/testing/orm/RepeatableContainer.java | 0 .../models/testing/orm/SecondaryTableAnnotation.java | 0 .../models/testing/orm/SecondaryTablesAnnotation.java | 0 .../testing/orm/SequenceGeneratorAnnotation.java | 0 .../testing/orm/SequenceGeneratorsAnnotation.java | 0 .../hibernate/models/testing/orm/TableAnnotation.java | 0 .../models/testing/orm/TransientAnnotation.java | 0 .../models/testing/orm/UniqueConstraintAnnotation.java | 0 hibernate-models/build.gradle | 3 +++ .../java/org/hibernate/models/testing/TestHelper.java | 8 ++++---- settings.gradle | 1 + 43 files changed, 33 insertions(+), 9 deletions(-) rename hibernate-models-jandex/src/test/java/org/hibernate/models/testing/shared/intg/{JandexTestingModelContextFactoryImpl.java => JandexModelContextFactoryImpl.java} (91%) create mode 100644 hibernate-models-jandex/src/test/resources/META-INF/services/org.hibernate.models.testing.intg.ModelContextFactory delete mode 100644 hibernate-models-jandex/src/test/resources/META-INF/services/org.hibernate.models.testing.intg.TestingModelContextFactory create mode 100644 hibernate-models-testing/build.gradle rename hibernate-models/src/test/java/org/hibernate/models/testing/intg/TestingModelContextFactory.java => hibernate-models-testing/src/main/java/org/hibernate/models/testing/intg/ModelContextFactory.java (91%) rename {hibernate-models/src/test => hibernate-models-testing/src/main}/java/org/hibernate/models/testing/orm/AttributeMarker.java (100%) rename {hibernate-models/src/test => hibernate-models-testing/src/main}/java/org/hibernate/models/testing/orm/BasicAnnotation.java (100%) rename {hibernate-models/src/test => hibernate-models-testing/src/main}/java/org/hibernate/models/testing/orm/CacheableAnnotation.java (100%) rename {hibernate-models/src/test => hibernate-models-testing/src/main}/java/org/hibernate/models/testing/orm/CheckConstraintAnnotation.java (100%) rename {hibernate-models/src/test => hibernate-models-testing/src/main}/java/org/hibernate/models/testing/orm/CollectionTableAnnotation.java (100%) rename {hibernate-models/src/test => hibernate-models-testing/src/main}/java/org/hibernate/models/testing/orm/ColumnAnnotation.java (100%) rename {hibernate-models/src/test => hibernate-models-testing/src/main}/java/org/hibernate/models/testing/orm/ColumnDetails.java (100%) rename {hibernate-models/src/test => hibernate-models-testing/src/main}/java/org/hibernate/models/testing/orm/CommonTableDetails.java (100%) rename {hibernate-models/src/test => hibernate-models-testing/src/main}/java/org/hibernate/models/testing/orm/DatabaseObjectDetails.java (100%) rename {hibernate-models/src/test => hibernate-models-testing/src/main}/java/org/hibernate/models/testing/orm/ElementCollectionJpaAnnotation.java (100%) rename {hibernate-models/src/test => hibernate-models-testing/src/main}/java/org/hibernate/models/testing/orm/EntityAnnotation.java (100%) rename {hibernate-models/src/test => hibernate-models-testing/src/main}/java/org/hibernate/models/testing/orm/ForeignKeyAnnotation.java (100%) rename {hibernate-models/src/test => hibernate-models-testing/src/main}/java/org/hibernate/models/testing/orm/IdAnnotation.java (100%) rename {hibernate-models/src/test => hibernate-models-testing/src/main}/java/org/hibernate/models/testing/orm/IndexAnnotation.java (100%) rename {hibernate-models/src/test => hibernate-models-testing/src/main}/java/org/hibernate/models/testing/orm/JoinColumnAnnotation.java (100%) rename {hibernate-models/src/test => hibernate-models-testing/src/main}/java/org/hibernate/models/testing/orm/JoinColumnsAnnotation.java (100%) rename {hibernate-models/src/test => hibernate-models-testing/src/main}/java/org/hibernate/models/testing/orm/JpaAnnotations.java (100%) rename {hibernate-models/src/test => hibernate-models-testing/src/main}/java/org/hibernate/models/testing/orm/Named.java (100%) rename {hibernate-models/src/test => hibernate-models-testing/src/main}/java/org/hibernate/models/testing/orm/NamedNativeQueriesAnnotation.java (100%) rename {hibernate-models/src/test => hibernate-models-testing/src/main}/java/org/hibernate/models/testing/orm/NamedNativeQueryAnnotation.java (100%) rename {hibernate-models/src/test => hibernate-models-testing/src/main}/java/org/hibernate/models/testing/orm/NamedQueriesAnnotation.java (100%) rename {hibernate-models/src/test => hibernate-models-testing/src/main}/java/org/hibernate/models/testing/orm/NamedQueryAnnotation.java (100%) rename {hibernate-models/src/test => hibernate-models-testing/src/main}/java/org/hibernate/models/testing/orm/OrmAnnotationHelper.java (100%) rename {hibernate-models/src/test => hibernate-models-testing/src/main}/java/org/hibernate/models/testing/orm/PrimaryKeyJoinColumnJpaAnnotation.java (100%) rename {hibernate-models/src/test => hibernate-models-testing/src/main}/java/org/hibernate/models/testing/orm/PrimaryKeyJoinColumnsJpaAnnotation.java (100%) rename {hibernate-models/src/test => hibernate-models-testing/src/main}/java/org/hibernate/models/testing/orm/RepeatableContainer.java (100%) rename {hibernate-models/src/test => hibernate-models-testing/src/main}/java/org/hibernate/models/testing/orm/SecondaryTableAnnotation.java (100%) rename {hibernate-models/src/test => hibernate-models-testing/src/main}/java/org/hibernate/models/testing/orm/SecondaryTablesAnnotation.java (100%) rename {hibernate-models/src/test => hibernate-models-testing/src/main}/java/org/hibernate/models/testing/orm/SequenceGeneratorAnnotation.java (100%) rename {hibernate-models/src/test => hibernate-models-testing/src/main}/java/org/hibernate/models/testing/orm/SequenceGeneratorsAnnotation.java (100%) rename {hibernate-models/src/test => hibernate-models-testing/src/main}/java/org/hibernate/models/testing/orm/TableAnnotation.java (100%) rename {hibernate-models/src/test => hibernate-models-testing/src/main}/java/org/hibernate/models/testing/orm/TransientAnnotation.java (100%) rename {hibernate-models/src/test => hibernate-models-testing/src/main}/java/org/hibernate/models/testing/orm/UniqueConstraintAnnotation.java (100%) diff --git a/buildSrc/src/main/groovy/shared-testing.gradle b/buildSrc/src/main/groovy/shared-testing.gradle index b367744..76896a4 100644 --- a/buildSrc/src/main/groovy/shared-testing.gradle +++ b/buildSrc/src/main/groovy/shared-testing.gradle @@ -1,3 +1,8 @@ +// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// Sets up shared testing +// to execute tests from hibernate-models in the context of other modules. +// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + plugins { id "testing" } @@ -24,7 +29,7 @@ configurations { } dependencies { - testImplementation project( path: ":hibernate-models", configuration: "exposedTestClasses" ) + testImplementation project( ":hibernate-models-testing" ) sharedTestClasses project(path: ':hibernate-models', configuration: 'exposedTestClasses') sharedTestResources project(path: ':hibernate-models', configuration: 'exposedTestResources') diff --git a/buildSrc/src/main/groovy/testing.gradle b/buildSrc/src/main/groovy/testing.gradle index bae5ea7..ae76641 100644 --- a/buildSrc/src/main/groovy/testing.gradle +++ b/buildSrc/src/main/groovy/testing.gradle @@ -1,3 +1,8 @@ +// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// Module that need testing +// - automatically applied by published-java-module +// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + plugins { id "java-module" id "jacoco" diff --git a/hibernate-models-jandex/src/test/java/org/hibernate/models/testing/shared/intg/JandexTestingModelContextFactoryImpl.java b/hibernate-models-jandex/src/test/java/org/hibernate/models/testing/shared/intg/JandexModelContextFactoryImpl.java similarity index 91% rename from hibernate-models-jandex/src/test/java/org/hibernate/models/testing/shared/intg/JandexTestingModelContextFactoryImpl.java rename to hibernate-models-jandex/src/test/java/org/hibernate/models/testing/shared/intg/JandexModelContextFactoryImpl.java index 63ceb5b..9ac7428 100644 --- a/hibernate-models-jandex/src/test/java/org/hibernate/models/testing/shared/intg/JandexTestingModelContextFactoryImpl.java +++ b/hibernate-models-jandex/src/test/java/org/hibernate/models/testing/shared/intg/JandexModelContextFactoryImpl.java @@ -13,7 +13,7 @@ import org.hibernate.models.spi.ClassLoading; import org.hibernate.models.spi.RegistryPrimer; import org.hibernate.models.spi.SourceModelBuildingContext; -import org.hibernate.models.testing.intg.TestingModelContextFactory; +import org.hibernate.models.testing.intg.ModelContextFactory; import org.hibernate.models.testing.orm.JpaAnnotations; import org.jboss.jandex.Index; @@ -24,7 +24,7 @@ /** * @author Steve Ebersole */ -public class JandexTestingModelContextFactoryImpl implements TestingModelContextFactory { +public class JandexModelContextFactoryImpl implements ModelContextFactory { @Override public SourceModelBuildingContext createModelContext( RegistryPrimer registryPrimer, diff --git a/hibernate-models-jandex/src/test/resources/META-INF/services/org.hibernate.models.testing.intg.ModelContextFactory b/hibernate-models-jandex/src/test/resources/META-INF/services/org.hibernate.models.testing.intg.ModelContextFactory new file mode 100644 index 0000000..49ec2ea --- /dev/null +++ b/hibernate-models-jandex/src/test/resources/META-INF/services/org.hibernate.models.testing.intg.ModelContextFactory @@ -0,0 +1 @@ +org.hibernate.models.testing.shared.intg.JandexModelContextFactoryImpl \ No newline at end of file diff --git a/hibernate-models-jandex/src/test/resources/META-INF/services/org.hibernate.models.testing.intg.TestingModelContextFactory b/hibernate-models-jandex/src/test/resources/META-INF/services/org.hibernate.models.testing.intg.TestingModelContextFactory deleted file mode 100644 index 9f97fd8..0000000 --- a/hibernate-models-jandex/src/test/resources/META-INF/services/org.hibernate.models.testing.intg.TestingModelContextFactory +++ /dev/null @@ -1 +0,0 @@ -org.hibernate.models.testing.shared.intg.JandexTestingModelContextFactoryImpl \ No newline at end of file diff --git a/hibernate-models-testing/build.gradle b/hibernate-models-testing/build.gradle new file mode 100644 index 0000000..c087269 --- /dev/null +++ b/hibernate-models-testing/build.gradle @@ -0,0 +1,10 @@ +plugins { + id 'java-module' +} + +description = "Test fixtures for modules performing tests" + +dependencies { + implementation project( ":hibernate-models" ) + implementation jakartaLibs.jpa +} \ No newline at end of file diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/intg/TestingModelContextFactory.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/intg/ModelContextFactory.java similarity index 91% rename from hibernate-models/src/test/java/org/hibernate/models/testing/intg/TestingModelContextFactory.java rename to hibernate-models-testing/src/main/java/org/hibernate/models/testing/intg/ModelContextFactory.java index 705822d..59830df 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/intg/TestingModelContextFactory.java +++ b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/intg/ModelContextFactory.java @@ -13,6 +13,6 @@ * * @author Steve Ebersole */ -public interface TestingModelContextFactory { +public interface ModelContextFactory { SourceModelBuildingContext createModelContext(RegistryPrimer registryPrimer, Class... modelClasses); } diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/AttributeMarker.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/AttributeMarker.java similarity index 100% rename from hibernate-models/src/test/java/org/hibernate/models/testing/orm/AttributeMarker.java rename to hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/AttributeMarker.java diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/BasicAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/BasicAnnotation.java similarity index 100% rename from hibernate-models/src/test/java/org/hibernate/models/testing/orm/BasicAnnotation.java rename to hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/BasicAnnotation.java diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/CacheableAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/CacheableAnnotation.java similarity index 100% rename from hibernate-models/src/test/java/org/hibernate/models/testing/orm/CacheableAnnotation.java rename to hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/CacheableAnnotation.java diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/CheckConstraintAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/CheckConstraintAnnotation.java similarity index 100% rename from hibernate-models/src/test/java/org/hibernate/models/testing/orm/CheckConstraintAnnotation.java rename to hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/CheckConstraintAnnotation.java diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/CollectionTableAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/CollectionTableAnnotation.java similarity index 100% rename from hibernate-models/src/test/java/org/hibernate/models/testing/orm/CollectionTableAnnotation.java rename to hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/CollectionTableAnnotation.java diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/ColumnAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/ColumnAnnotation.java similarity index 100% rename from hibernate-models/src/test/java/org/hibernate/models/testing/orm/ColumnAnnotation.java rename to hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/ColumnAnnotation.java diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/ColumnDetails.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/ColumnDetails.java similarity index 100% rename from hibernate-models/src/test/java/org/hibernate/models/testing/orm/ColumnDetails.java rename to hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/ColumnDetails.java diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/CommonTableDetails.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/CommonTableDetails.java similarity index 100% rename from hibernate-models/src/test/java/org/hibernate/models/testing/orm/CommonTableDetails.java rename to hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/CommonTableDetails.java diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/DatabaseObjectDetails.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/DatabaseObjectDetails.java similarity index 100% rename from hibernate-models/src/test/java/org/hibernate/models/testing/orm/DatabaseObjectDetails.java rename to hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/DatabaseObjectDetails.java diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/ElementCollectionJpaAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/ElementCollectionJpaAnnotation.java similarity index 100% rename from hibernate-models/src/test/java/org/hibernate/models/testing/orm/ElementCollectionJpaAnnotation.java rename to hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/ElementCollectionJpaAnnotation.java diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/EntityAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/EntityAnnotation.java similarity index 100% rename from hibernate-models/src/test/java/org/hibernate/models/testing/orm/EntityAnnotation.java rename to hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/EntityAnnotation.java diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/ForeignKeyAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/ForeignKeyAnnotation.java similarity index 100% rename from hibernate-models/src/test/java/org/hibernate/models/testing/orm/ForeignKeyAnnotation.java rename to hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/ForeignKeyAnnotation.java diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/IdAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/IdAnnotation.java similarity index 100% rename from hibernate-models/src/test/java/org/hibernate/models/testing/orm/IdAnnotation.java rename to hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/IdAnnotation.java diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/IndexAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/IndexAnnotation.java similarity index 100% rename from hibernate-models/src/test/java/org/hibernate/models/testing/orm/IndexAnnotation.java rename to hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/IndexAnnotation.java diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/JoinColumnAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/JoinColumnAnnotation.java similarity index 100% rename from hibernate-models/src/test/java/org/hibernate/models/testing/orm/JoinColumnAnnotation.java rename to hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/JoinColumnAnnotation.java diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/JoinColumnsAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/JoinColumnsAnnotation.java similarity index 100% rename from hibernate-models/src/test/java/org/hibernate/models/testing/orm/JoinColumnsAnnotation.java rename to hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/JoinColumnsAnnotation.java diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/JpaAnnotations.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/JpaAnnotations.java similarity index 100% rename from hibernate-models/src/test/java/org/hibernate/models/testing/orm/JpaAnnotations.java rename to hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/JpaAnnotations.java diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/Named.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/Named.java similarity index 100% rename from hibernate-models/src/test/java/org/hibernate/models/testing/orm/Named.java rename to hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/Named.java diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/NamedNativeQueriesAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/NamedNativeQueriesAnnotation.java similarity index 100% rename from hibernate-models/src/test/java/org/hibernate/models/testing/orm/NamedNativeQueriesAnnotation.java rename to hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/NamedNativeQueriesAnnotation.java diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/NamedNativeQueryAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/NamedNativeQueryAnnotation.java similarity index 100% rename from hibernate-models/src/test/java/org/hibernate/models/testing/orm/NamedNativeQueryAnnotation.java rename to hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/NamedNativeQueryAnnotation.java diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/NamedQueriesAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/NamedQueriesAnnotation.java similarity index 100% rename from hibernate-models/src/test/java/org/hibernate/models/testing/orm/NamedQueriesAnnotation.java rename to hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/NamedQueriesAnnotation.java diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/NamedQueryAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/NamedQueryAnnotation.java similarity index 100% rename from hibernate-models/src/test/java/org/hibernate/models/testing/orm/NamedQueryAnnotation.java rename to hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/NamedQueryAnnotation.java diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/OrmAnnotationHelper.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/OrmAnnotationHelper.java similarity index 100% rename from hibernate-models/src/test/java/org/hibernate/models/testing/orm/OrmAnnotationHelper.java rename to hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/OrmAnnotationHelper.java diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/PrimaryKeyJoinColumnJpaAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/PrimaryKeyJoinColumnJpaAnnotation.java similarity index 100% rename from hibernate-models/src/test/java/org/hibernate/models/testing/orm/PrimaryKeyJoinColumnJpaAnnotation.java rename to hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/PrimaryKeyJoinColumnJpaAnnotation.java diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/PrimaryKeyJoinColumnsJpaAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/PrimaryKeyJoinColumnsJpaAnnotation.java similarity index 100% rename from hibernate-models/src/test/java/org/hibernate/models/testing/orm/PrimaryKeyJoinColumnsJpaAnnotation.java rename to hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/PrimaryKeyJoinColumnsJpaAnnotation.java diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/RepeatableContainer.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/RepeatableContainer.java similarity index 100% rename from hibernate-models/src/test/java/org/hibernate/models/testing/orm/RepeatableContainer.java rename to hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/RepeatableContainer.java diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/SecondaryTableAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/SecondaryTableAnnotation.java similarity index 100% rename from hibernate-models/src/test/java/org/hibernate/models/testing/orm/SecondaryTableAnnotation.java rename to hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/SecondaryTableAnnotation.java diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/SecondaryTablesAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/SecondaryTablesAnnotation.java similarity index 100% rename from hibernate-models/src/test/java/org/hibernate/models/testing/orm/SecondaryTablesAnnotation.java rename to hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/SecondaryTablesAnnotation.java diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/SequenceGeneratorAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/SequenceGeneratorAnnotation.java similarity index 100% rename from hibernate-models/src/test/java/org/hibernate/models/testing/orm/SequenceGeneratorAnnotation.java rename to hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/SequenceGeneratorAnnotation.java diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/SequenceGeneratorsAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/SequenceGeneratorsAnnotation.java similarity index 100% rename from hibernate-models/src/test/java/org/hibernate/models/testing/orm/SequenceGeneratorsAnnotation.java rename to hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/SequenceGeneratorsAnnotation.java diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/TableAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/TableAnnotation.java similarity index 100% rename from hibernate-models/src/test/java/org/hibernate/models/testing/orm/TableAnnotation.java rename to hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/TableAnnotation.java diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/TransientAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/TransientAnnotation.java similarity index 100% rename from hibernate-models/src/test/java/org/hibernate/models/testing/orm/TransientAnnotation.java rename to hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/TransientAnnotation.java diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/orm/UniqueConstraintAnnotation.java b/hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/UniqueConstraintAnnotation.java similarity index 100% rename from hibernate-models/src/test/java/org/hibernate/models/testing/orm/UniqueConstraintAnnotation.java rename to hibernate-models-testing/src/main/java/org/hibernate/models/testing/orm/UniqueConstraintAnnotation.java diff --git a/hibernate-models/build.gradle b/hibernate-models/build.gradle index 89835b7..aef69a2 100644 --- a/hibernate-models/build.gradle +++ b/hibernate-models/build.gradle @@ -4,6 +4,9 @@ plugins { description = "A de-typed abstraction over reflection and annotations" +dependencies { + testImplementation project( ":hibernate-models-testing" ) +} // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Export testing diff --git a/hibernate-models/src/test/java/org/hibernate/models/testing/TestHelper.java b/hibernate-models/src/test/java/org/hibernate/models/testing/TestHelper.java index bb99296..8ac1615 100644 --- a/hibernate-models/src/test/java/org/hibernate/models/testing/TestHelper.java +++ b/hibernate-models/src/test/java/org/hibernate/models/testing/TestHelper.java @@ -11,7 +11,7 @@ import org.hibernate.models.internal.util.CollectionHelper; import org.hibernate.models.spi.RegistryPrimer; import org.hibernate.models.spi.SourceModelBuildingContext; -import org.hibernate.models.testing.intg.TestingModelContextFactory; +import org.hibernate.models.testing.intg.ModelContextFactory; import org.hibernate.models.testing.orm.OrmAnnotationHelper; import static org.hibernate.models.internal.SimpleClassLoading.SIMPLE_CLASS_LOADING; @@ -45,10 +45,10 @@ public static SourceModelBuildingContext createModelContext( private static SourceModelBuildingContext buildModelContext( RegistryPrimer additionalPrimer, Class... modelClasses) { - final ServiceLoader loader = ServiceLoader.load( TestingModelContextFactory.class ); - final Iterator serviceImpls = loader.iterator(); + final ServiceLoader loader = ServiceLoader.load( ModelContextFactory.class ); + final Iterator serviceImpls = loader.iterator(); if ( serviceImpls.hasNext() ) { - final TestingModelContextFactory contextFactory = serviceImpls.next(); + final ModelContextFactory contextFactory = serviceImpls.next(); if ( serviceImpls.hasNext() ) { throw new IllegalStateException( "Found more than one TestingModelContextFactory" ); } diff --git a/settings.gradle b/settings.gradle index d53cd27..abe981d 100644 --- a/settings.gradle +++ b/settings.gradle @@ -129,4 +129,5 @@ dependencyResolutionManagement { include "hibernate-models" include "hibernate-models-jandex" +include 'hibernate-models-testing'