You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2022/05/21 07:31:57 UTC
[isis] branch master updated: Revert "ISIS-3051: remove parameter-peer hackery"
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/isis.git
The following commit(s) were added to refs/heads/master by this push:
new d7bcf9f8d0 Revert "ISIS-3051: remove parameter-peer hackery"
d7bcf9f8d0 is described below
commit d7bcf9f8d04b906ef277694c8919c2930ad8fbf2
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sat May 21 09:31:36 2022 +0200
Revert "ISIS-3051: remove parameter-peer hackery"
This reverts commit 3635c5abae88fd1682bc68bcc2dd26c1ece2369d.
---
.../param/name/ParameterNameFacetFactoryUsingReflection.java | 3 ---
.../postprocessors/ObjectSpecificationPostProcessorAbstract.java | 8 ++++++++
.../postprocessors/all/DescribedAsFromTypePostProcessor.java | 7 ++-----
.../postprocessors/param/ChoicesAndDefaultsPostProcessor.java | 9 +--------
.../postprocessors/param/TypicalLengthFromTypePostProcessor.java | 2 +-
.../java/org/apache/isis/core/metamodel/spec/Specification.java | 4 ++--
.../isis/core/metamodel/spec/feature/ObjectActionParameter.java | 2 ++
.../specloader/specimpl/ObjectActionParameterAbstract.java | 2 +-
.../specloader/specimpl/ObjectSpecificationAbstract.java | 5 -----
.../specloader/specimpl/dflt/ObjectSpecificationDefault.java | 4 +++-
.../isis/core/metamodel/testspec/ObjectSpecificationStub.java | 6 ------
11 files changed, 20 insertions(+), 32 deletions(-)
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/name/ParameterNameFacetFactoryUsingReflection.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/name/ParameterNameFacetFactoryUsingReflection.java
index 62379efdd0..edee125761 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/name/ParameterNameFacetFactoryUsingReflection.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/param/name/ParameterNameFacetFactoryUsingReflection.java
@@ -18,7 +18,6 @@
*/
package org.apache.isis.core.metamodel.facets.param.name;
-import java.util.Optional;
import java.util.regex.Pattern;
import javax.inject.Inject;
@@ -68,8 +67,6 @@ extends FacetFactoryAbstract {
val naturalName = StringExtensions.asNaturalName2(parameterName);
val facetHolder = processParameterContext.getFacetHolder();
-
-
FacetUtil.addFacet(
new NamedFacetForParameterUsingReflection(naturalName, facetHolder));
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/ObjectSpecificationPostProcessorAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/ObjectSpecificationPostProcessorAbstract.java
index ad5b713105..0466b1df25 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/ObjectSpecificationPostProcessorAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/ObjectSpecificationPostProcessorAbstract.java
@@ -19,6 +19,8 @@
package org.apache.isis.core.metamodel.postprocessors;
import org.apache.isis.core.metamodel.context.MetaModelContext;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
+import org.apache.isis.core.metamodel.facetapi.HasFacetHolder;
import org.apache.isis.core.metamodel.facets.FacetedMethod;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.spec.feature.MixedIn;
@@ -79,4 +81,10 @@ implements ObjectSpecificationPostProcessor {
return objectMemberImpl.getFacetedMethod();
}
+ protected static FacetHolder peerFor(final ObjectActionParameter param) {
+ // TODO: hacky, need to copy facet onto underlying peer, not to the param itself.
+ var paramImpl = (HasFacetHolder) param;
+ return paramImpl.getFacetHolder();
+ }
+
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/all/DescribedAsFromTypePostProcessor.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/all/DescribedAsFromTypePostProcessor.java
index ffb5c7141c..f28267d6f7 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/all/DescribedAsFromTypePostProcessor.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/all/DescribedAsFromTypePostProcessor.java
@@ -58,10 +58,7 @@ extends ObjectSpecificationPostProcessorAbstract {
}
@Override
- protected void doPostProcess(
- final ObjectSpecification objectSpecification,
- final ObjectAction objectAction,
- final ObjectActionParameter parameter) {
+ protected void doPostProcess(final ObjectSpecification objectSpecification, final ObjectAction objectAction, final ObjectActionParameter parameter) {
if(parameter.containsNonFallbackFacet(ParamDescribedFacet.class)) {
return;
}
@@ -70,7 +67,7 @@ extends ObjectSpecificationPostProcessorAbstract {
.ifPresent(describedAsFacet->{
FacetUtil.addFacetIfPresent(
DescribedAsFacetOnParameterFromType
- .create(describedAsFacet, parameter));
+ .create(describedAsFacet, peerFor(parameter)));
});
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/param/ChoicesAndDefaultsPostProcessor.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/param/ChoicesAndDefaultsPostProcessor.java
index 2e7d3513a3..9e02a71689 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/param/ChoicesAndDefaultsPostProcessor.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/param/ChoicesAndDefaultsPostProcessor.java
@@ -18,8 +18,6 @@
*/
package org.apache.isis.core.metamodel.postprocessors.param;
-import java.util.Optional;
-
import javax.inject.Inject;
import org.apache.isis.core.metamodel.context.MetaModelContext;
@@ -64,16 +62,11 @@ extends ObjectSpecificationPostProcessorAbstract {
final ObjectSpecification objectSpecification,
final ObjectAction objectAction,
final ObjectActionParameter param) {
-
- val paramAsHolder = param;
-
-
-
if(!hasMemberLevelChoices(param)) {
param.getElementType()
.lookupNonFallbackFacet(ChoicesFacet.class)
.ifPresent(choicesFacet -> FacetUtil
- .addFacet(new ActionParameterChoicesFacetFromChoicesFacet(param)));
+ .addFacet(new ActionParameterChoicesFacetFromChoicesFacet(peerFor(param))));
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/param/TypicalLengthFromTypePostProcessor.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/param/TypicalLengthFromTypePostProcessor.java
index 34106ef604..b3c9ebd61f 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/param/TypicalLengthFromTypePostProcessor.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/postprocessors/param/TypicalLengthFromTypePostProcessor.java
@@ -53,7 +53,7 @@ extends ObjectSpecificationPostProcessorAbstract {
.ifPresent(typicalLengthFacet ->
FacetUtil.addFacet(
TypicalLengthFacetOnParameterFromType
- .createWhilePostprocessing(typicalLengthFacet, parameter)));
+ .createWhilePostprocessing(typicalLengthFacet, peerFor(parameter))));
}
@Override
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/Specification.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/Specification.java
index 423dae2ddc..07705da0df 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/Specification.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/Specification.java
@@ -18,8 +18,8 @@
*/
package org.apache.isis.core.metamodel.spec;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
-import org.apache.isis.core.metamodel.facetapi.HasFacetHolder;
import org.apache.isis.core.metamodel.spec.feature.ObjectActionParameter;
import org.apache.isis.core.metamodel.spec.feature.ObjectFeature;
import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
@@ -36,7 +36,7 @@ import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
* Introduces so that viewers can deal with abstract Instances of said.
*
*/
-public interface Specification extends HasFacetHolder {
+public interface Specification extends FacetHolder {
FeatureType getFeatureType();
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectActionParameter.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectActionParameter.java
index 44dc8284c6..1badc0083e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectActionParameter.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/feature/ObjectActionParameter.java
@@ -238,4 +238,6 @@ extends ObjectFeature, CurrentHolder {
return ActionParameterMemento.forActionParameter(this);
}
+
+
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java
index 74bb790dbc..c88c25c013 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectActionParameterAbstract.java
@@ -164,7 +164,7 @@ implements
// -- FacetHolder
@Override
- public final FacetHolder getFacetHolder() {
+ public FacetHolder getFacetHolder() {
// that is the faceted method parameter
return parentAction.getFacetedMethod().getParameters().getElseFail(parameterIndex);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
index 67c831fab1..47f729141d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/ObjectSpecificationAbstract.java
@@ -52,7 +52,6 @@ import org.apache.isis.core.metamodel.consent.Consent;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.consent.InteractionResult;
import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
import org.apache.isis.core.metamodel.facets.all.described.ObjectDescribedFacet;
import org.apache.isis.core.metamodel.facets.all.help.HelpFacet;
@@ -128,10 +127,6 @@ implements ObjectSpecification {
}
}
- @Override
- public FacetHolder getFacetHolder() {
- return this;
- }
// -- FIELDS
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
index 01e44e7cdf..dff41e973d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/specimpl/dflt/ObjectSpecificationDefault.java
@@ -40,6 +40,7 @@ import org.apache.isis.commons.internal.reflection._Reflect;
import org.apache.isis.core.metamodel.commons.StringExtensions;
import org.apache.isis.core.metamodel.commons.ToString;
import org.apache.isis.core.metamodel.context.MetaModelContext;
+import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facets.FacetedMethod;
import org.apache.isis.core.metamodel.facets.ImperativeFacet;
import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
@@ -72,7 +73,8 @@ import lombok.extern.log4j.Log4j2;
@Log4j2
public class ObjectSpecificationDefault
-extends ObjectSpecificationAbstract {
+extends ObjectSpecificationAbstract
+implements FacetHolder {
private static String determineShortName(final Class<?> introspectedClass) {
final String name = introspectedClass.getName();
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/testspec/ObjectSpecificationStub.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/testspec/ObjectSpecificationStub.java
index d9ebbc9854..0de46cd282 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/testspec/ObjectSpecificationStub.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/testspec/ObjectSpecificationStub.java
@@ -36,7 +36,6 @@ import org.apache.isis.core.metamodel.consent.Consent;
import org.apache.isis.core.metamodel.consent.InteractionInitiatedBy;
import org.apache.isis.core.metamodel.consent.InteractionResult;
import org.apache.isis.core.metamodel.context.MetaModelContext;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facetapi.FacetHolderAbstract;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
import org.apache.isis.core.metamodel.facets.WhereValueFacet;
@@ -78,11 +77,6 @@ implements ObjectSpecification {
private final Class<?> correspondingClass;
private final String name;
- @Override
- public FacetHolder getFacetHolder() {
- return this;
- }
-
@Override
public Optional<? extends ObjectMember> getMember(final String memberId) {
val objectAction = getAction(memberId);