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 2021/07/30 14:25:40 UTC
[isis] branch master updated: ISIS-2830: just comments
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 cd6584d ISIS-2830: just comments
cd6584d is described below
commit cd6584db96a27cd93dfe356fab347cc8827b2392
Author: Andi Huber <ah...@apache.org>
AuthorDate: Fri Jul 30 16:25:30 2021 +0200
ISIS-2830: just comments
---
.../isis/core/metamodel/interactions/managed/ManagedMember.java | 2 ++
.../core/metamodel/interactions/managed/ManagedProperty.java | 9 +++++++--
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/managed/ManagedMember.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/managed/ManagedMember.java
index ba8bdcf..e4e8221 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/managed/ManagedMember.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/managed/ManagedMember.java
@@ -92,6 +92,8 @@ public abstract class ManagedMember implements ManagedFeature {
@NonNull private ManagedObject owner;
public ManagedObject getOwner() {
+ //XXX this is a hack,
+ // see also org.apache.isis.core.metamodel.interactions.managed.ManagedProperty.ManagedProperty(ManagedObject, OneToOneAssociation, Where)
return owner = EntityUtil.reattach(owner);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/managed/ManagedProperty.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/managed/ManagedProperty.java
index 6442dcd..b2733b5 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/managed/ManagedProperty.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/interactions/managed/ManagedProperty.java
@@ -63,6 +63,11 @@ public final class ManagedProperty extends ManagedMember {
@Getter private final OneToOneAssociation property;
+ //XXX suggestion: instead of holding the 'owner' object, let it hold a supplier of the 'owner' object,
+ //such that the supplier always returns the actual owner evaluated lazily without memoization.
+ //Such a change would better support eg.
+ //org.apache.isis.viewer.wicket.model.models.ScalarPropertyModel.getManagedProperty()
+ //Or as an alternative use a memento instead of the ManagedObject.
private ManagedProperty(
final @NonNull ManagedObject owner,
final @NonNull OneToOneAssociation property,
@@ -88,7 +93,7 @@ public final class ManagedProperty extends ManagedMember {
// -- INTERACTION
- public Optional<InteractionVeto> checkValidity(ManagedObject proposedNewValue) {
+ public Optional<InteractionVeto> checkValidity(final ManagedObject proposedNewValue) {
try {
val validityConsent =
@@ -111,7 +116,7 @@ public final class ManagedProperty extends ManagedMember {
* @param proposedNewValue
* @return non-empty if the interaction is not valid for given {@code proposedNewValue}
*/
- public Optional<InteractionVeto> modifyProperty(@Nullable ManagedObject proposedNewValue) {
+ public Optional<InteractionVeto> modifyProperty(@Nullable final ManagedObject proposedNewValue) {
val interactionVeto = checkValidity(proposedNewValue);
if(interactionVeto.isPresent()) {