You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@causeway.apache.org by ah...@apache.org on 2023/09/14 15:14:38 UTC

[causeway] 01/01: Merge pull request #1871 from apache/3571-generic.type.resolver

This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/causeway.git

commit 35c4cd95aaeba36744f501a802aec5ae103e47a5
Merge: 67715fc731 333826c91e
Author: Andi Huber <ah...@apache.org>
AuthorDate: Thu Sep 14 17:14:32 2023 +0200

    Merge pull request #1871 from apache/3571-generic.type.resolver
    
    CAUSEWAY-3571: Use Spring's GenericTypeResolver to resolve generic types on methods.

 .../org/apache/causeway/applib/Identifier.java     |   6 +-
 .../causeway/applib/events/EventObjectBase.java    |   2 +-
 .../applib/services/i18n/TranslationContext.java   |   6 +-
 .../applib/spec/AbstractSpecification.java         |  13 +-
 .../applib/spec/AbstractSpecification2.java        |  13 +-
 commons/src/main/java/module-info.java             |   1 +
 .../apache/causeway/commons/collections/Can.java   |  12 +
 .../causeway/commons/collections/Can_Empty.java    |   6 +
 .../causeway/commons/collections/Can_Multiple.java |   8 +
 .../commons/collections/Can_Singleton.java         |   6 +
 .../commons/internal/delegate/_Delegate.java       |   4 +-
 .../commons/internal/exceptions/_Exceptions.java   |   8 +
 .../commons/internal/reflection/_ClassCache.java   | 298 +++++++-----
 .../internal/reflection/_GenericResolver.java      | 517 +++++++++++++++++++++
 .../internal/reflection/_MethodFacades.java        | 129 +++--
 .../commons/internal/reflection/_Reflect.java      | 246 ++--------
 .../commons/semantics/AccessorSemantics.java       |  80 ++++
 .../commons/semantics/CollectionSemantics.java     | 257 ++++++++++
 .../internal/reflection/ClassCacheTest.java        |  47 +-
 .../reflection/GenericReflectionMagicTest.java     |  81 ++++
 .../commons/internal/reflection/_Abstract.java     |   2 +-
 .../commons/internal/reflection/_AbstractImpl.java |   2 +-
 .../commons/internal/reflection/_Expectations.java |  17 +-
 .../internal/reflection/_GenericAbstractImpl.java  |   4 +-
 .../internal/reflection/_GenericInterfaceImpl.java |   4 +-
 .../commons/internal/reflection/_Interface.java    |   2 +-
 .../internal/reflection/_InterfaceImpl.java        |   2 +-
 .../{_Util.java => _MethodSummaryUtil.java}        |  23 +-
 .../commons/internal/reflection/_Mixins.java       |   4 +-
 .../beans/CausewayBeanTypeClassifierDefault.java   |   4 +-
 .../progmodel/ProgrammingModelConstants.java       | 277 +----------
 .../metamodel/CausewayModuleCoreMetamodel.java     |   2 +-
 .../_testing/MethodRemover_forTesting.java         |  14 +-
 .../core/metamodel/commons/CanonicalInvoker.java   |   2 +-
 .../core/metamodel/commons/MethodUtil.java         |  83 ++--
 .../core/metamodel/commons/ParameterAdapter.java   |   4 +-
 .../core/metamodel/facetapi/FeatureType.java       |  10 +-
 .../core/metamodel/facetapi/MethodRemover.java     |  26 +-
 .../core/metamodel/facets/ActionSupport.java       |  14 +-
 .../core/metamodel/facets/DomainEventHelper.java   |   6 +-
 .../causeway/core/metamodel/facets/Evaluators.java |  19 +-
 .../core/metamodel/facets/FacetFactory.java        |  19 +-
 .../core/metamodel/facets/FacetedMethod.java       |  94 ++--
 .../metamodel/facets/FacetedMethodParameter.java   |   8 +-
 .../core/metamodel/facets/ImperativeAspect.java    |   6 +-
 .../core/metamodel/facets/ImperativeFacet.java     |  17 +-
 .../core/metamodel/facets/ParameterSupport.java    |  27 +-
 ...ropertyOrCollectionIdentifyingFacetFactory.java |  11 +-
 ...rCollectionIdentifyingFacetFactoryAbstract.java |   4 +-
 .../core/metamodel/facets/TypedHolder.java         |   4 +-
 .../core/metamodel/facets/TypedHolderAbstract.java |   8 +-
 .../facets/actcoll/typeof/TypeOfFacet.java         |  31 +-
 .../facets/actcoll/typeof/TypeOfFacetAbstract.java |  18 +-
 .../actcoll/typeof/TypeOfFacetFromFeature.java     |   4 +-
 .../facets/actcoll/typeof/TypeOfFacetFromType.java |   4 +-
 .../action/ActionAnnotationFacetFactory.java       |   7 +-
 .../typeof/TypeOfFacetForActionAnnotation.java     |   8 +-
 .../ActionParameterValidationFacetViaMethod.java   |   6 +-
 .../method/ActionValidationFacetViaMethod.java     |  10 +-
 ...erDescribedFacetWithImperativeTextAbstract.java |   5 +-
 .../imperative/HasImperativeTextFacetAbstract.java |   4 +-
 ...MemberNamedFacetWithImperativeTextAbstract.java |   5 +-
 .../CollectionAccessorFacetViaAccessor.java        |   8 +-
 .../CollectionAccessorFacetViaAccessorFactory.java |  18 +-
 .../CollectionAnnotationFacetFactory.java          |   6 +-
 .../typeof/TypeOfFacetForCollectionAnnotation.java |   8 +-
 .../javautilcollection/CollectionFacetFactory.java |   6 +-
 .../metamodel/facets/jaxb/JaxbFacetFactory.java    |   4 +-
 .../method/MemberDescribedFacetViaMethod.java      |   5 +-
 .../method/DisableForContextFacetViaMethod.java    |   6 +-
 .../method/HideForContextFacetViaMethod.java       |   6 +-
 .../named/method/MemberNamedFacetViaMethod.java    |   5 +-
 .../autocomplete/AutoCompleteFacetAbstract.java    |   8 +-
 .../object/callbacks/CallbackFacetAbstract.java    |   7 +-
 .../method/CssClassFacetViaCssClassMethod.java     |   4 +-
 .../method/DisabledObjectFacetViaMethod.java       |   4 +-
 .../DomainObjectAnnotationFacetFactory.java        |  22 +-
 ...AutoCompleteFacetForDomainObjectAnnotation.java |  11 +-
 .../hidden/method/HiddenObjectFacetViaMethod.java  |   4 +-
 .../icon/method/IconFacetViaIconNameMethod.java    |   4 +-
 .../RemoveAnnotatedMethodsFacetFactory.java        |   5 +-
 ...oveDatanucleusPersistableTypesFacetFactory.java |  16 +-
 .../RemoveDnPrefixedMethodsFacetFactory.java       |   2 +-
 .../javalang/IteratorFilteringFacetFactory.java    |   5 +-
 .../ignore/javalang/RemoveMethodsFacetFactory.java |  85 ++--
 .../jdo/RemoveJdoEnhancementTypesFacetFactory.java |  17 +-
 .../jdo/RemoveJdoPrefixedMethodsFacetFactory.java  |   2 +-
 .../object/layout/LayoutFacetViaLayoutMethod.java  |   4 +-
 .../mixin/MetaModelValidatorForMixinTypes.java     |   4 +-
 .../metamodel/facets/object/mixin/MixinFacet.java  |   5 +-
 .../facets/object/mixin/MixinFacetAbstract.java    |   8 +-
 .../NavigableParentAnnotationFacetFactory.java     |   9 +-
 .../method/NavigableParentFacetViaMethod.java      |  48 +-
 .../object/support/ObjectSupportFacetFactory.java  |   4 +-
 .../methods/TitleFacetFromToStringMethod.java      |   6 +-
 .../title/methods/TitleFacetViaTitleMethod.java    |   6 +-
 .../facets/object/value/CompositeValueUpdater.java |   2 +-
 .../ViewModelFacetForViewModelInterface.java       |  22 +-
 .../facets/param/autocomplete/MinLengthUtil.java   |   8 +-
 .../ActionParameterAutoCompleteFacetViaMethod.java |  20 +-
 .../ActionParameterChoicesFacetViaMethod.java      |  20 +-
 .../ActionParameterDefaultsFacetViaMethod.java     |  12 +-
 .../ActionParameterDisabledFacetViaMethod.java     |  10 +-
 .../ActionParameterHiddenFacetViaMethod.java       |  10 +-
 .../ActionParameterValidationFacetViaMethod.java   |  16 +-
 .../accessor/PropertyAccessorFacetViaAccessor.java |   6 +-
 .../PropertyAccessorFacetViaAccessorFactory.java   |  22 +-
 .../method/PropertyAutoCompleteFacetMethod.java    |   6 +-
 .../method/PropertyChoicesFacetViaMethod.java      |   6 +-
 .../method/PropertyDefaultFacetViaMethod.java      |   8 +-
 .../update/PropertySetterFacetFactory.java         |   4 +-
 .../clear/PropertyClearFacetViaClearMethod.java    |   6 +-
 .../clear/PropertyClearFacetViaSetterMethod.java   |   6 +-
 ...PropertyInitializationFacetViaSetterMethod.java |   6 +-
 .../modify/PropertySetterFacetViaSetterMethod.java |   6 +-
 .../method/PropertyValidateFacetViaMethod.java     |   6 +-
 ...tionEnforcesMetamodelContributionValidator.java |  45 +-
 .../methods/MethodFilteringFacetFactory.java       |   5 +-
 .../core/metamodel/methods/MethodFinder.java       |  44 +-
 .../core/metamodel/methods/MethodFinderPAT.java    |  12 +-
 .../methods/MethodPrefixBasedFacetFactory.java     |   3 +-
 .../_OrphanedSupportingMethodValidator.java        |   8 +-
 .../core/metamodel/object/ManagedObjects.java      |   6 +-
 .../core/metamodel/object/MmAssertionUtils.java    |   4 +-
 .../core/metamodel/object/MmInvokeUtils.java       |  27 +-
 .../ClassSubstitutorForCollections.java            |   6 +-
 .../services/metamodel/TitleAnnotator.java         |   6 +-
 .../core/metamodel/spec/ObjectSpecification.java   |   8 +-
 .../core/metamodel/spec/TypeOfAnyCardinality.java  | 236 ----------
 .../metamodel/spec/feature/OneToManyFeature.java   |  10 +-
 .../specloader/facetprocessor/FacetProcessor.java  |  13 +-
 .../specloader/specimpl/FacetedMethodsBuilder.java |  48 +-
 .../specloader/specimpl/ObjectActionDefault.java   |   2 +-
 .../specimpl/ObjectSpecificationAbstract.java      |   4 +-
 .../specimpl/OneToManyActionParameterDefault.java  |   6 +-
 .../specimpl/OneToManyAssociationDefault.java      |   8 +-
 .../specimpl/OneToManyAssociationMixedIn.java      |   2 +-
 .../specimpl/OneToOneAssociationDefault.java       |   2 +-
 .../specimpl/_MethodFacadeAutodetect.java          |  14 +-
 .../specimpl/dflt/ObjectSpecificationDefault.java  |  18 +-
 .../specloader/typeextract/TypeExtractor.java      |  13 +-
 .../causeway/core/metamodel/util/Facets.java       |   4 +-
 .../facetapi/FeatureTypeTest_identifierFor.java    |   4 +-
 .../metamodel/facets/FacetFactoryTestAbstract.java |  22 +-
 .../causeway/core/metamodel/facets/_Utils.java     |  43 +-
 .../actions/ActionMethodsFacetFactoryTest.java     |  18 +-
 .../actions/IteratorFilteringFacetFactoryTest.java |   6 +-
 ...nnotationFacetFactoryTest_ActionInvocation.java |  11 +-
 .../ActionAnnotationFacetFactoryTest_TypeOf.java   |  10 +-
 .../CollectionAccessorFacetFactoryTest.java        |  14 +-
 .../CollectionAnnotationFacetFactoryTest.java      |  10 +-
 ...ollectionAnnotationFacetFactoryTest_typeOf.java |  10 +-
 .../CssClassFacetMethodWithProblemTest.java        |   7 +-
 .../object/ident/icon/IconFacetMethodTest.java     |   8 +-
 .../object/ident/layout/LayoutFacetMethodTest.java |   8 +-
 .../title/TitleAnnotationFacetFactoryTest.java     |  16 +-
 .../ident/title/TitleFacetViaMethodTest.java       |   5 +-
 .../title/TitleFacetViaMethodsFactoryTest.java     |  10 +-
 .../object/mixin/MixinFacetAbstract_Test.java      |   5 +-
 .../facets/object/mixin/MixinIntendedAs.java       |   9 +-
 .../navparent/NavigableParentFacetMethodTest.java  |   6 +-
 .../NavigableParentAnnotationFacetFactoryTest.java |   5 +-
 .../memberorder/DeweyOrderComparatorTest.java      |   4 +-
 .../ordering/memberorder/DeweyOrderSetTest.java    |  10 +-
 .../ParameterAnnotationFacetFactoryTest.java       |   9 +-
 .../PropertyMethodsFacetFactoryTest.java           |  33 +-
 .../objects/OneToManyAssociationDefaultTest.java   |   9 +-
 .../objects/TypeExtractorMethodReturnTest.java     |  25 +-
 .../metamodel/spec/TypeOfAnyCardinalityTest.java   |  38 +-
 .../SpecificationLoaderTypeRecognitionTest.java    |   4 +-
 .../specimpl/ObjectAssociationAbstractTest.java    |   2 +-
 ...ObjectAssociationAbstractTest_alwaysHidden.java |   2 +-
 .../specimpl/OneToOneAssociationAbstractTest.java  |   2 +-
 .../wrapper/WrapperFactoryDefault.java             |  24 +-
 .../handlers/CollectionInvocationHandler.java      |  19 +-
 .../handlers/DomainObjectInvocationHandler.java    |   8 +-
 .../wrapper/handlers/MapInvocationHandler.java     |  15 +-
 ...t.java => PluralInvocationHandlerAbstract.java} |  41 +-
 .../wrapper/handlers/ProxyContextHandler.java      |   4 +-
 .../integtests/OutboxRestClient_IntegTest.java     |   2 +-
 ...malFromJdoColumnAnnotationFacetFactoryTest.java |  11 +-
 ...oryFromJdoColumnAnnotationFacetFactoryTest.java |  18 +-
 ...JdoNotPersistentAnnotationFacetFactoryTest.java |   8 +-
 ...venJdoPrimaryKeyAnnotationFacetFactoryTest.java |  12 +-
 .../testing/AbstractFacetFactoryTest.java          |   7 +-
 .../persistence/jdo/metamodel/testing/Utils.java   |  19 +-
 .../restfulobjects/viewer/mappers/FailureUtil.java |   3 +-
 .../wicket/model/links/ListOfLinksModel.java       |   1 -
 188 files changed, 2296 insertions(+), 1940 deletions(-)