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:09:47 UTC
[isis] branch master updated (2b80679289 -> cbeb4cb9a4)
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
from 2b80679289 ISIS-3051: fixes prev. commit
new 3635c5abae ISIS-3051: remove parameter-peer hackery
new cbeb4cb9a4 ISIS-3049: fixes CalendarEvent demo case with ViewModel
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../isis/applib/value/semantics/ValueDecomposition.java | 11 +++++++++++
.../param/name/ParameterNameFacetFactoryUsingReflection.java | 3 +++
.../ObjectSpecificationPostProcessorAbstract.java | 8 --------
.../postprocessors/all/DescribedAsFromTypePostProcessor.java | 7 +++++--
.../postprocessors/param/ChoicesAndDefaultsPostProcessor.java | 9 ++++++++-
.../param/TypicalLengthFromTypePostProcessor.java | 2 +-
.../org/apache/isis/core/metamodel/spec/ManagedObject.java | 2 +-
.../org/apache/isis/core/metamodel/spec/Specification.java | 4 ++--
.../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 ++++++
13 files changed, 44 insertions(+), 21 deletions(-)
[isis] 02/02: ISIS-3049: fixes CalendarEvent demo case with ViewModel
Posted by ah...@apache.org.
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
commit cbeb4cb9a498dec9f506d3e3ecc5435c3528c9b6
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sat May 21 09:09:39 2022 +0200
ISIS-3049: fixes CalendarEvent demo case with ViewModel
---
.../isis/applib/value/semantics/ValueDecomposition.java | 11 +++++++++++
.../org/apache/isis/core/metamodel/spec/ManagedObject.java | 2 +-
2 files changed, 12 insertions(+), 1 deletion(-)
diff --git a/api/applib/src/main/java/org/apache/isis/applib/value/semantics/ValueDecomposition.java b/api/applib/src/main/java/org/apache/isis/applib/value/semantics/ValueDecomposition.java
index c7d5faa847..bc14745ed4 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/value/semantics/ValueDecomposition.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/value/semantics/ValueDecomposition.java
@@ -49,6 +49,17 @@ implements
return new ValueDecomposition(Either.right(typedTupleDto));
}
+ /**
+ * In support of JAXB de-serialization,
+ * returns an unspecified type.
+ * (Introduced for the CalendarEvent demo to work.)
+ * @deprecated not sure why we are hitting this; remove eventually
+ */
+ @Deprecated
+ public ValueDecomposition() {
+ this(Either.left(new ValueWithTypeDto()));
+ }
+
@Getter private final Either<ValueWithTypeDto, TypedTupleDto> either;
// used by RO-Viewer to render values
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObject.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObject.java
index 03f5e8ea8b..87ef6931cf 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObject.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/spec/ManagedObject.java
@@ -151,7 +151,7 @@ public interface ManagedObject {
public default String htmlString(
final @Nullable ObjectFeature feature) {
- if(getSpecification()==null) {
+ if(!ManagedObjects.isSpecified(this)) {
return "";
}
[isis] 01/02: ISIS-3051: remove parameter-peer hackery
Posted by ah...@apache.org.
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
commit 3635c5abae88fd1682bc68bcc2dd26c1ece2369d
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sat May 14 10:31:41 2022 +0200
ISIS-3051: remove parameter-peer hackery
---
.../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, 32 insertions(+), 20 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 edee125761..62379efdd0 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,6 +18,7 @@
*/
package org.apache.isis.core.metamodel.facets.param.name;
+import java.util.Optional;
import java.util.regex.Pattern;
import javax.inject.Inject;
@@ -67,6 +68,8 @@ 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 0466b1df25..ad5b713105 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,8 +19,6 @@
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;
@@ -81,10 +79,4 @@ 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 f28267d6f7..ffb5c7141c 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,7 +58,10 @@ 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;
}
@@ -67,7 +70,7 @@ extends ObjectSpecificationPostProcessorAbstract {
.ifPresent(describedAsFacet->{
FacetUtil.addFacetIfPresent(
DescribedAsFacetOnParameterFromType
- .create(describedAsFacet, peerFor(parameter)));
+ .create(describedAsFacet, 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 9e02a71689..2e7d3513a3 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,6 +18,8 @@
*/
package org.apache.isis.core.metamodel.postprocessors.param;
+import java.util.Optional;
+
import javax.inject.Inject;
import org.apache.isis.core.metamodel.context.MetaModelContext;
@@ -62,11 +64,16 @@ 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(peerFor(param))));
+ .addFacet(new ActionParameterChoicesFacetFromChoicesFacet(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 b3c9ebd61f..34106ef604 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, peerFor(parameter))));
+ .createWhilePostprocessing(typicalLengthFacet, 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 07705da0df..423dae2ddc 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 FacetHolder {
+public interface Specification extends HasFacetHolder {
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 1badc0083e..44dc8284c6 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,6 +238,4 @@ 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 c88c25c013..74bb790dbc 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 FacetHolder getFacetHolder() {
+ public final 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 47f729141d..67c831fab1 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,6 +52,7 @@ 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;
@@ -127,6 +128,10 @@ 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 dff41e973d..01e44e7cdf 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,7 +40,6 @@ 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;
@@ -73,8 +72,7 @@ import lombok.extern.log4j.Log4j2;
@Log4j2
public class ObjectSpecificationDefault
-extends ObjectSpecificationAbstract
-implements FacetHolder {
+extends ObjectSpecificationAbstract {
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 0de46cd282..d9ebbc9854 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,6 +36,7 @@ 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;
@@ -77,6 +78,11 @@ 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);