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/02/05 22:42:26 UTC
[causeway] 01/01: CAUSEWAY-3348: [Programming Model] Support for Action Parameters as a Tuple using Java Records (Mixins only)
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch spring6
in repository https://gitbox.apache.org/repos/asf/causeway.git
commit b9ee5fcc5af31a76501c70a69973927822047b82
Merge: fa1b6a488f 984fcb2a65
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sun Feb 5 23:42:18 2023 +0100
CAUSEWAY-3348: [Programming Model] Support for Action Parameters as a
Tuple using Java Records (Mixins only)
.../workflows/ci-build-artifacts-no-push-maven.yml | 3 +
.github/workflows/ci-build-site-no-push.yml | 4 +-
.../applib/annotation/ParameterAsTuple.java | 50 +++++
.../internal/reflection/_MethodFacades.java | 227 +++++++++++++++++++++
.../commons/internal/reflection/_Reflect.java | 36 ++++
.../progmodel/ProgrammingModelConstants.java | 33 +--
.../core/metamodel/commons/CanonicalInvoker.java | 6 +
.../metamodel/execution/MemberExecutorService.java | 4 +-
.../core/metamodel/facetapi/FeatureType.java | 19 +-
.../core/metamodel/facets/FacetFactory.java | 31 ++-
.../core/metamodel/facets/FacetedMethod.java | 33 +--
.../metamodel/facets/FacetedMethodParameter.java | 9 +-
.../core/metamodel/facets/HasImperativeAspect.java | 9 +-
.../core/metamodel/facets/ImperativeAspect.java | 23 ++-
.../core/metamodel/facets/ImperativeFacet.java | 51 +++--
.../facets/actcoll/typeof/TypeOfFacet.java | 10 +-
.../action/ActionAnnotationFacetFactory.java | 2 +-
...ctionInvocationFacetForDomainEventAbstract.java | 8 +-
...ionFacetForDomainEventFromActionAnnotation.java | 5 +-
...onInvocationFacetForDomainEventFromDefault.java | 5 +-
...viceMenuFacetFromDomainServiceFacetFactory.java | 6 +-
.../ActionParameterValidationFacetViaMethod.java | 16 +-
.../method/ActionValidationFacetViaMethod.java | 11 +-
.../imperative/HasImperativeTextFacetAbstract.java | 17 +-
.../CollectionAccessorFacetViaAccessor.java | 9 +-
.../CollectionAccessorFacetViaAccessorFactory.java | 2 +-
...assFacetOnActionFromConfiguredRegexFactory.java | 5 +-
.../method/DisableForContextFacetViaMethod.java | 9 +-
.../method/HideForContextFacetViaMethod.java | 9 +-
.../object/callbacks/CallbackFacetAbstract.java | 17 +-
.../object/callbacks/CallbackFacetFactory.java | 25 +--
.../callbacks/CreatedCallbackFacetAbstract.java | 5 +-
.../callbacks/CreatedCallbackFacetViaMethod.java | 3 +-
.../callbacks/LoadedCallbackFacetAbstract.java | 5 +-
.../callbacks/LoadedCallbackFacetViaMethod.java | 5 +-
.../callbacks/PersistedCallbackFacetAbstract.java | 5 +-
.../callbacks/PersistedCallbackFacetViaMethod.java | 5 +-
.../callbacks/PersistingCallbackFacetAbstract.java | 5 +-
.../PersistingCallbackFacetViaMethod.java | 5 +-
.../callbacks/RemovingCallbackFacetAbstract.java | 5 +-
.../callbacks/RemovingCallbackFacetViaMethod.java | 5 +-
.../callbacks/UpdatedCallbackFacetAbstract.java | 5 +-
.../callbacks/UpdatedCallbackFacetViaMethod.java | 5 +-
.../callbacks/UpdatingCallbackFacetAbstract.java | 5 +-
.../callbacks/UpdatingCallbackFacetViaMethod.java | 5 +-
.../method/CssClassFacetViaCssClassMethod.java | 2 +-
.../method/DisabledObjectFacetViaMethod.java | 2 +-
.../hidden/method/HiddenObjectFacetViaMethod.java | 2 +-
.../icon/method/IconFacetViaIconNameMethod.java | 2 +-
.../object/layout/LayoutFacetViaLayoutMethod.java | 2 +-
.../annotation/TitleFacetViaTitleAnnotation.java | 8 +-
.../methods/TitleFacetFromToStringMethod.java | 2 +-
.../title/methods/TitleFacetViaTitleMethod.java | 2 +-
.../facets/object/value/CompositeValueUpdater.java | 7 +-
.../ActionParameterAutoCompleteFacetViaMethod.java | 16 +-
.../ActionParameterChoicesFacetViaMethod.java | 11 +-
.../ActionParameterDefaultsFacetViaMethod.java | 12 +-
.../ActionParameterDisabledFacetViaMethod.java | 12 +-
.../ActionParameterHiddenFacetViaMethod.java | 12 +-
.../ParameterNameFacetFactoryUsingReflection.java | 3 +-
.../parameter/ParameterAnnotationFacetFactory.java | 2 +-
.../ActionParameterValidationFacetViaMethod.java | 19 +-
.../accessor/PropertyAccessorFacetViaAccessor.java | 9 +-
.../PropertyAccessorFacetViaAccessorFactory.java | 2 +-
.../method/PropertyAutoCompleteFacetMethod.java | 9 +-
.../method/PropertyChoicesFacetViaMethod.java | 10 +-
.../method/PropertyDefaultFacetViaMethod.java | 9 +-
.../property/PropertyAnnotationFacetFactory.java | 7 +-
.../MandatoryFacetForPropertyAnnotation.java | 5 +-
...acetInvertedByNullableAnnotationOnProperty.java | 4 +-
.../update/PropertySetterFacetFactory.java | 4 +-
.../clear/PropertyClearFacetViaClearMethod.java | 9 +-
.../clear/PropertyClearFacetViaSetterMethod.java | 10 +-
...PropertyInitializationFacetViaSetterMethod.java | 9 +-
.../modify/PropertySetterFacetViaSetterMethod.java | 9 +-
.../method/PropertyValidateFacetViaMethod.java | 21 +-
...tionEnforcesMetamodelContributionValidator.java | 4 +
.../core/metamodel/methods/MethodFinderPAT.java | 3 +-
.../core/metamodel/object/MmInvokeUtil.java | 45 +++-
.../TweakDomainEventsForMixinPostProcessor.java | 8 +-
.../core/metamodel/spec/TypeOfAnyCardinality.java | 48 +++++
.../specloader/facetprocessor/FacetProcessor.java | 5 +-
.../specloader/specimpl/FacetedMethodsBuilder.java | 41 ++--
.../specloader/specimpl/ObjectActionDefault.java | 7 +-
.../specloader/specimpl/ObjectActionMixedIn.java | 5 +-
.../specimpl/ObjectActionParameterAbstract.java | 2 +-
.../specimpl/ObjectSpecificationAbstract.java | 9 +
.../specimpl/OneToManyAssociationDefault.java | 8 +-
.../specimpl/OneToManyAssociationMixedIn.java | 5 +-
.../specimpl/OneToOneAssociationDefault.java | 8 +-
.../specimpl/OneToOneAssociationMixedIn.java | 5 +-
.../specimpl/_MethodFacadeAutodetect.java | 79 +++++++
.../specimpl/dflt/ObjectSpecificationDefault.java | 10 +-
.../facetapi/FeatureTypeTest_identifierFor.java | 5 +-
.../metamodel/facets/AbstractFacetFactoryTest.java | 4 +-
.../actions/ActionMethodsFacetFactoryTest.java | 7 +-
...nnotationFacetFactoryTest_ActionInvocation.java | 6 +-
...MenuFacetFromDomainServiceFacetFactoryTest.java | 8 +-
.../callback/CallbackFacetFactoryTestAbstract.java | 4 +-
.../facets/object/mixin/MixinIntendedAs.java | 5 +-
.../ObjectSupportFacetFactoryTestAbstract.java | 9 +-
...cetForParameterLayoutAnnotationFactoryTest.java | 2 +-
...cetForParameterLayoutAnnotationFactoryTest.java | 2 +-
.../facets/param/name/ParameterNameFacetTest.java | 4 +-
.../ParameterAnnotationFacetFactoryTest.java | 20 +-
...lableAnnotationOnParameterFacetFactoryTest.java | 8 +-
...RegExAnnotationOnParameterFacetFactoryTest.java | 4 +-
.../executor/MemberExecutorServiceDefault.java | 12 +-
.../testdomain/interact/NewParameterModelTest.java | 17 +-
.../interaction/InteractionNpmDemo_patEnabled.java | 71 +++++++
110 files changed, 1050 insertions(+), 425 deletions(-)
diff --cc core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/notinservicemenu/derived/NotInServiceMenuFacetFromDomainServiceFacetFactory.java
index 2d6b1aa519,ca61fa77cc..22f8c1e604
--- a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/notinservicemenu/derived/NotInServiceMenuFacetFromDomainServiceFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/actions/notinservicemenu/derived/NotInServiceMenuFacetFromDomainServiceFacetFactory.java
@@@ -18,9 -18,7 +18,7 @@@
*/
package org.apache.causeway.core.metamodel.facets.actions.notinservicemenu.derived;
- import java.lang.reflect.Method;
-
-import javax.inject.Inject;
+import jakarta.inject.Inject;
import org.apache.causeway.applib.annotation.NatureOfService;
import org.apache.causeway.core.metamodel.context.MetaModelContext;
diff --cc core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/callbacks/CallbackFacetFactory.java
index 2dcbea2ac3,5bdb2f7e2f..a473e59544
--- a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/callbacks/CallbackFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/object/callbacks/CallbackFacetFactory.java
@@@ -21,10 -21,11 +21,11 @@@ package org.apache.causeway.core.metamo
import java.util.function.BiFunction;
import java.util.stream.Stream;
-import javax.inject.Inject;
+import jakarta.inject.Inject;
import org.apache.causeway.commons.collections.Can;
+ import org.apache.causeway.commons.internal.reflection._MethodFacades;
+ import org.apache.causeway.commons.internal.reflection._MethodFacades.MethodFacade;
import org.apache.causeway.core.config.progmodel.ProgrammingModelConstants.CallbackMethod;
import org.apache.causeway.core.metamodel.context.MetaModelContext;
import org.apache.causeway.core.metamodel.facetapi.FacetHolder;
diff --cc core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/properties/update/PropertySetterFacetFactory.java
index 16e0ef6171,de172fd507..f617867e96
--- a/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/properties/update/PropertySetterFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/causeway/core/metamodel/facets/properties/update/PropertySetterFacetFactory.java
@@@ -18,9 -18,7 +18,7 @@@
*/
package org.apache.causeway.core.metamodel.facets.properties.update;
- import java.lang.reflect.Method;
-
-import javax.inject.Inject;
+import jakarta.inject.Inject;
import org.apache.causeway.commons.collections.Can;
import org.apache.causeway.core.config.progmodel.ProgrammingModelConstants.AccessorPrefix;